Термины JSON и объект (и даже объект JSON ) часто используются взаимозаменяемо , когда мы говорим о структуре данных, особенно в контекстах, связанных с AJAX.
- В чем разница между ними?
- Является ли JSON объектом Javascript или чем-то другим?
Термины JSON и объект (и даже объект JSON ) часто используются взаимозаменяемо , когда мы говорим о структуре данных, особенно в контекстах, связанных с AJAX.
Я предполагаю, что у читателя есть некоторые базовые знания Javascript:
Они не одинаковы
JSON — это аббревиатура от JavaScript Object Notation , это облегченный текстовый формат для обмена данными. Что это значит? Хорошо, если мы видим следующий текст
Каждому программисту понятно, что это текст в формате XML . Что ж, JSON — это не что иное, как другой формат, но с той же функцией. Эквивалентом этого XML может быть что-то вроде:
Как следует из названия, эта нотация аналогична той, которую мы использовали бы в Javascript для создания объекта :
Но JSON есть, и здесь я повторяюсь, текст :
Формат JSON несколько более строг, чем код Javascript:
<!-- Comentarios-->
)undefined
.И как нам преобразовать текст в управляемый объект? А как сделать обратную операцию?
Используя следующие функции:
JSON.parse(<texto>)
Он возвращает объект, созданный из строки в формате JSON.JSON.stringify(obj)
Возвращает строку в формате JSON с атрибутами объектаobj
. Еслиobj
у него есть атрибуты, являющиеся функциями, они будут проигнорированы.Поэтому, хотя JSON происходит от языка Javascript, это не более чем способ отправки данных между приложениями, который не обязательно будет реализован с помощью Javascript: любой язык программирования может обрабатывать JSON (точно так же, как XML) для получения необходимой информации. .
Два повседневных примера использования JSON:
localStorage
или ,sessionStorage
методыsetItem
иgetItem
работают только с типомstring
, поэтому необходимо преобразовать объекты, которые мы хотим сохранить, в текст.Я хотел бы дать более разговорный ответ, что-то, что вы могли бы привести в качестве примера не программисту или новичку.
- Объект: ограничен кодом, инициализируется и работает с объектом во время выполнения программы. Объект будет отформатирован в соответствии с семантическими правилами соответствующего (объектно-ориентированного) языка, на котором написан код, в котором определены объекты.
- JSON: это «файл», который используется для ввода-вывода, для инициализации или сохранения состояний или значений объекта, и, поскольку он является «стандартом», он имеет свои собственные определенные семантические правила. Эта стандартизация формата делает JSON совместимым с различными языками программирования.