JSON (нотация объектов JavaScript) — это сериализуемый формат обмена данными, который может быть прочитан машиной и человеком. Не используйте этот тег для собственных объектов JavaScript или литералов объектов JavaScript. Прежде чем задать вопрос, подтвердите свой JSON с помощью валидатора JSON, такого как JSONLint (https://jsonlint.com).
JSON(нотация объектов JavaScript) - это сериализуемый формат обмена данными, предназначенный для машинного и человеческого чтения.
JSON определяется RFC 7159, который полностью не зависит от языка, но использует соглашения, знакомые программистам из семейства языков C включая c, c++, c#, java, javascript, perl, pythonи многие другие. Эти свойства делают JSON идеальным языком обмена данными для использования с API RESTfulили ajax. Он часто используется вместо xmlиз-за своей легкой и компактной структуры.
Многие языки программирования предоставляют методы для разбора текстовой строки в формате JSON на собственный объект и наоборот. Например, JavaScript в современных браузерах и других средах включает методы JSON.parse ()и JSON.stringify (),
Формат JSON основан на двух типах структур:
Коллекция пар имя / значение
{"name1":"value1", "name2":"value2"}
Упорядоченный список значений (чаще называемый массивом)
["value1", "value2"]
JSON определяет шесть типов значений: null, числа, строки, логические значения, массивы и объекты. Что касается объектов, порядок членов не имеет значения, и поведение синтаксического анализатора JSON при обнаружении повторяющихся имен элементов не определено.
Обратите внимание, что JSON — это не то же самое, что литералы объектов JavaScript. Вместо этого JSON является стандартным форматом для сериализации и десериализации объектов в большинстве языков. Дополнительную информацию см. в разделеВ JavaScript.
Вскоре после его создания была добавлена проверка JSON в соответствии с описанием, изложенным Дугласом Крокфордом из json.org в RFC 4627. С тех пор он был расширен для проверки как текущих конкурирующих стандартов JSON RFC 7159, так и ECMA-404. .
Преимущества
- JSON - это легкий формат обмена данными (без разметки)
- JSON не зависит от языка.
- JSON "самоописывает себя" и прост для понимания.
- JSON может быть изначально понят парсерами JavaScript, включая node.js
Библиотеки JSON
- Java: JSR 353 (JSONP), FasterXML Джексон, Google Gson, JSON -Javaили jsoniter
- JavaScript: json2.js(требуется только в старых браузерах без встроенной поддержки JSON)
- Ruby: реализация JSON для Ruby
- C #: JSON.Net
- Python 2: кодер и декодер JSON
- Python 3:кодер и декодер JSON
- PHP: расширение JSON для PHP
- C :
- Jansson– библиотека C для кодирования, декодирования и управления JSON.
- jsmn— минималистичный анализатор JSON.
- json-c– библиотека для работы с JSON.
- parson– облегченный JSON библиотека, написанная на языке C.
- WJElement— расширенная библиотека манипулирования JSON с поддержкой Схема JSON.
- YAJL– быстрая библиотека потокового синтаксического анализатора C JSON.
- cJSON— сверхлегкий анализатор JSON .
- C ++:
- nlohmann/json— JSON для современного C++
- RapidJSON— быстрый парсер/генератор JSON с SAM/DOM API
- taoJSON– библиотека JSON только для заголовков
- Scala: play-json, json4s, spray-jsonи многое другое, как описано в Какую библиотеку JSON использовать в Scala?
Дополнения браузера
Полезные ссылки
- Страница википедии
- Пример JSON
- JSON: что это такое, как это работает и как его использовать
- JSON в сети разработчиков Mozilla
- JSONLint
- JSON-Введение от Microsoft
- Начало работы с JSON(введение на Wired)
- библиотека JSON для старых браузеров (IE8 и ниже)
- FAQпо переполнению стека
- jq(процессор JSON для командной строки)
- Средство форматирования и валидатор JSON
- XML и JSON - преимущества и недостатки?
Книги
- Начало JSON
- Введение в объектную нотацию JavaScript Краткое руководство по JSON
- JavaScript JSON Cookbook
- Основы JavaScript и JSON