Вернуться к основам: краткий обзор того, что такое 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
- возврат каретки г
- вкладка т