Статьи

Вернуться к основам: синтаксис и советы JSON

Вернуться к основам: краткий обзор того, что такое JSON .

JavaScript Object Notation (JSON) — это текстовый формат для сериализации структурированных данных. Он получен из объектных литералов JavaScript

JSON может представлять четыре примитивных типа (строки, числа, логические значения и нуль) и два структурированных типа (объекты и массивы).

Примеры простых объектов JSON

Это объект JSON со свойствами:

{ "myObject": { "name":"obi wan kenobi", "weapons":"lightsaber", "specialPowers":"the force" } } [/code [code lang="js"] This is a JSON object which contains { "Africa":{ } 

Примеры простых массивов JSON

Это объект JSON, содержащий массив JSON:

 { "myObject": { "name":"obi wan kenobi", "weapons": ["lightsaber","smoke grenade","knife","jedi things"], "specialPowers":"the force" } } 

Это массив JSON, содержащий два объекта:

 { "africaLagos": [ { "from": -377711769600000, "to": -1588464816000, "dst": false, "offset": 816, "name": "LMT" }, { "from": -1588464816000, "to": 253402300799000, "dst": false, "offset": 3600, "name": "WAT" } ] } 

Еще примеры JSON

Несколько советов по работе с JSON:

  • Пробелы (пробел, горизонтальная табуляция, перевод строки или новая строка или возврат каретки) не имеют значения в JSON. Он также может быть уменьшен без влияния на данные.
  • Имена литералов объектов ДОЛЖНЫ быть в нижнем регистре (т. Е. — null, false, true и т. Д.)
  • Сохраняйте все пары имя и значение в кавычках для aviod
  • Подтвердите свой JSON перед его использованием — http://www.jsonlint.com
  • Кодировка Unicode для JSON по умолчанию — UTF-8 (см. Все типы мультимедиа приложений http://www.iana.org/assignments/media-types/application/index.html).
  • Тип носителя MIME для текста JSON — это application / json (тип и подтип соответственно). дальнейшее чтение: многоцелевые расширения почты в Интернете (MIME) http://en.wikipedia.org/wiki/MIME

Разбор JSON в

Не рекомендуется слепо оценивать любую строку JSON с помощью eval () из-за последствий для безопасности. Лучше всего использовать метод JSON.parse (), который является частью языка начиная с ES5 и изначально предоставляется движками Javascript в современных браузерах.

В jQuery есть метод parseJSON ():

 // an input JSON string var jstr = '{"mykey": "my value"}'; var data = jQuery.parseJSON(jstr); console.log(data.mykey); // "my value" 

Противоположностью метода JSON.parse () является JSON.stringify (). Он берет любой объект или массив (или примитив) и сериализует его в строку JSON.

 var dog = { name: "Fido", dob: new Date(), legs: [1, 2, 3, 4] }; var jsonstr = JSON.stringify(dog); // jsonstr is now: // {"name":"Fido","dob":"2010-04-11T22:36:22.436Z","legs":[1,2,3,4]} 

Символы, которые должны быть экранированы в строках JSON

  • кавычка «
  • косая черта /
  • обратный слеш \
  • новая строка n
  • возврат каретки г
  • вкладка т