JSON (англ. JavaScript Object Notation ) — текстовый формат обмена данными, основанный на JavaScript. Как и многие другие текстовые форматы, JSON легко читается людьми. Формат JSON был разработан Дугласом Крокфордом.
Обозначение объектов JavaScript (JSON – JavaScript Object Notation) – стандартный текстовый формат для представления структурированных данных на основе синтаксиса объекта JavaScript. Он обычно используется для передачи данных в веб-приложениях (например, отправка некоторых данных с сервера клиенту,таким образом чтобы это могло отображаться на веб-странице или наоборот). Вы будете сталкиваться с этим довольно часто, поэтому в этой статье мы даем вам все, что вам нужно для работы с JSON используя JavaScript, включая парсинг JSON, чтобы вы могли получить доступ к данным внутри него при создании JSON.
Он основан на подмножестве языка программирования JavaScript, определенного в стандарте ECMA-262 3rd Edition – December 1999. JSON – текстовый формат, полностью независимый от языка реализации, но он использует соглашения, знакомые программистам C-подобных языков, таких как C, C++, C#, Java, JavaScript,LISP, Perl, PHP, Python и многих других. Эти свойства делают JSON идеальным языком обмена данными.
JSON основан на двух структурах данных:
- Коллекция пар ключ/значение. В разных языках, эта концепция реализована как объект, запись, структура, словарь, хэш, именованный список или ассоциативный массив.
- Упорядоченный список значений. В большинстве языков это реализовано как массив, вектор, список или последовательность.
Это универсальные структуры данных. Почти все современные языки программирования поддерживают их в какой-либо форме. Логично предположить, что формат данных, независимый от языка программирования, должен быть основан на этих структурах. JSON в настоящее время часто используют для передачи документов в формате YAML.
В нотации JSON это выглядит так:
Объект – неупорядоченный набор пар ключ/значение. Объект начинается с {открывающей фигурной скобкии заканчивается }закрывающей фигурной скобкой. Каждое имя сопровождается :двоеточием, пары ключ/значение разделяются ,запятой.
Массив – упорядоченная коллекция значений. Массив начинается с [открывающей квадратной скобки и заканчивается ]закрывающей квадратной скобкой. Значения разделены ,запятой.
Значение может быть строкой в двойных кавычках, числом, true, false, null, объектом или массивом. Эти структуры могут быть вложенными.
Строка – коллекция нуля или больше символов Unicode, заключенная в двойные кавычки, используя обратную косую черту в качестве символа экранирования. Символ представляется как односимвольная строка. Похожий синтаксис используется в C и Java.
Число представляется так же, как в C или Java, кроме того, что используется только десятичная система счисления.
Пробелы могут использоваться между любыми лексемами.
Исключая некоторые детали кодирования, вышеизложенное полностью описывает JSON.
Вот несколько распространенных протоколов и технологий, которые часто используют JSON:
1. AJAX (Asynchronous JavaScript and XML) – JSON часто используется в AJAX для передачи данных между клиентом и сервером.
2. RESTful API – JSON часто используется для обмена данными между клиентом и сервером в RESTful API.
3. WebSocket – JSON может быть использован для передачи структурированных данных через WebSocket соединение.
4. HTTP – JSON может быть использован в HTTP запросах и ответах для обмена данными между клиентом и сервером.
5. GraphQL – JSON часто используется в GraphQL для описания структуры запросов и ответов.
6. JSON-RPC – Простой протокол для удаленного вызова процедур, который использует JSON для обмена данными.
Это лишь несколько примеров того, как JSON может быть использован в различных протоколах и технологиях для обмена и передачи данных.