Что такое JSON?
JSON (JavaScript Object Notation) представляет собой текстовый формат обмена данными между системами. Он не является бинарным форматом, поэтому при передаче через API вы фактически отправляете обычную строку текста.
При получении этой строки принимающая сторона преобразует её обратно в структуру данных своего языка программирования.
Разборка (parsing) и сериализация
Различие между этими двумя операциями заключается в направлении преобразования:
Сериализация
Сериализация – это процесс преобразования объекта или структуры данных в строковое представление. Для выполнения данной операции используется функция JSON.stringify().
const obj = { name: "John", age: 30 };
const str = JSON.stringify(obj);
alert(str); // Выведет: '{"name":"John","age":30}'
Парсинг (разбор)
Парсинг – это обратный процесс, когда строка преобразуется обратно в объект. Это делается функцией JSON.parse().
const str = '{"name":"Jane"}';
const obj = JSON.parse(str);
alert(obj.name); // Выведет: Jane
Типы данных, поддерживаемые JSON
JSON поддерживает следующие типы данных:
- Строки (
string) - Числа (
number) - Булевские значения (
boolean) - Массивы (
array) и вложенные объекты (object) - Значение
null
Не поддерживается передача функций, неопределённых значений (undefined), объектов даты (Date) и циклических ссылок.
Почему JSON победил XML?
Основные причины популярности JSON перед XML включают:
- Отсутствие закрывающих тегов делает его более компактным
- Прямое соответствие нативным структурам большинства языков программирования
- Легко читается человеком без дополнительных инструментов
- Родная поддержка браузерами через функцию
JSON.parse() - Совместимость со всеми основными языками программирования
Заключение
Теперь у вас есть понимание того, как происходит работа с JSON внутри приложений и сервисов. Вы знаете разницу между сериализацией и парсингом, а также какие данные можно передавать в формате JSON.