Рейтинг:
20
F-ES Sitecore
Это JSON, и он создает объект под названием chatRoom со свойством "all", а значение этого свойства равно [], что означает пустой массив. Таким образом, после определения вы можете манипулировать массивом как обычным массивом js
var chatRoom = {
'all': []
};
chatRoom.all.push('Hello');
chatRoom.all.push('World');
for (var i = 0; i < chatRoom.all.length; i++)
{
alert(chatRoom.all[i]);
}
Richard Deeming
Технически, это литерал объекта[^]. JSON будет строковым представлением этого литерала.
F-ES Sitecore
Это не мое понимание
https://tools.ietf.org/html/rfc4627
"объектный литерал" - это то, что браузер использует для реализации JSON. До этого tech JSON должен был быть проанализирован из строк с использованием таких вещей, как eval и т. д., Но это не является отражением того, что что-то является JSON, это сводится к реализации браузером.
Richard Deeming
По вашей ссылке:
"Нотация объектов JavaScript (JSON) - это текстовой формат для сериализации структурированных данных.
Он является производным от объектных литералов JavaScript,..."
Объектный литерал - это код; JSON-это строковое представление этого кода.
F-ES Sitecore
Да, и текст - это текст в html-разметке\js-файле\json-файле. Это текстовый формат, как и xml, а не двоичный формат, как EXE или COM-интерфейс.
Richard Deeming
Но JSON - это подмножество объектной буквенной нотации. Допустимый JSON-это допустимый объектный литерал, но обратное не применяется.
Смотреть также: Бен Альман ” "нет такой вещи, как" объект JSON"[^]
"...поскольку JSON-это язык обмена данными, он фактически является JSON только тогда, когда используется в строковом контексте."
F-ES Sitecore
Я знаю, что такой вещи, как объект JSON, не существует, и именно поэтому я не использовал этот термин.