1.1 Появление JSON
JSON (JavaScript Object Notation) — это текстовый формат, используемый для обмена данными. Он был разработан в начале 2000-х годов Дугласом Крокфордом и стал популярным благодаря своей простоте и легкости использования.
Основная идея JSON заключается в создании формата, который легко читать человеку и при этом он прост для парсинга и генерации программами. JSON изначально разрабатывался на основе синтаксиса JavaScript, но его формат оказался настолько универсальным, что он стал использоваться и поддерживаться множеством других языков программирования. Теперь JSON можно использовать независимо от JavaScript: он стал стандартом для обмена данными в различных системах и приложениях, вне зависимости от языка программирования, на котором они написаны.
JSON — это фактически запись состояния объекта на языке JavaScript. Ну, почти. Вот почему JSON особенно популярен среди тех, кто пишет API для фронтенда. Кроме того, JSON широко используется для хранения конфигурационных файлов и логов.
Основные особенности JSON
Человекочитаемость:
Формат JSON легко читать и понимать людям. Это делает его удобным для использования в конфигурационных файлах и для обмена данными между клиентом и сервером.
Языковая независимость:
Хотя JSON изначально основан на синтаксисе JavaScript, он может использоваться с любым языком программирования. Многие языки программирования предоставляют встроенные библиотеки для работы с JSON.
Легкость парсинга:
Парсинг (от англ. "parsing") — это процесс разбора и анализа структуры данных, обычно текста или кода, для выделения значимой информации. В контексте программирования парсинг часто применяется для обработки текстовых данных. JSON можно легко парсить и генерировать как на клиентской, так и на серверной стороне. Сейчас в каждом языке программирования существует библиотека, которая позволяет легко преобразовать объект в JSON и обратно.
Стандарт и явный лидер:
Еще 10 лет назад JSON соперничал с XML как стандарт API. Сейчас JSON победил и является явным лидером. В API вашего бэкэнда вы можете поддерживать только JSON, и этого будет достаточно, даже если ваш API предназначен для вызова другими серверами.
1.2 Структура JSON
JSON представляет собой набор пар "ключ-значение", и его синтаксис состоит из двух основных структур:
Объекты: Объекты представляют собой неупорядоченные наборы пар "ключ-значение". Ключи — это строки, а значения могут быть любого типа данных, поддерживаемого JSON.
{
"name": "John",
"age": 30,
"isStudent": false,
"courses": ["Math", "Science"],
"address": {
"city": "New York",
"zipCode": "10001"
}
}
Массивы/Списки: Массивы представляют собой упорядоченные наборы значений (похожи на списки в Python). Значения могут быть любого типа данных, поддерживаемого JSON.
["Apple", "Banana", "Cherry", 100, 3.14, true]
Очень похоже на объекты Python, не так ли?
Все дело в том, что JSON — это фактически стандарт записи данных в JavaScript, а JavaScript в свое время был вдохновлён Python. Так что использовать JSON вам понравится.
1.3 Типы данных в JSON
JSON поддерживает следующие типы данных:
Строки: представляются в двойных кавычках.
"name": "John"
Числа: могут быть целыми или с плавающей точкой.
"age": 30
Объекты: неупорядоченные наборы пар "ключ-значение".
"address": {
"city": "New York",
"zipCode": "10001"
}
Массивы/Списки: упорядоченные наборы значений.
"courses": ["Math", "Science"]
Булевы значения: true или false.
"isStudent": false
В отличие от Python, true и false тут пишутся с маленькой буквы.
null: представляет пустое значение.
"middleName": null
Дата и время: передаются как строка.
{
"datetime": "2023-05-15T14:30:00Z",
"date": "2023-05-15",
"time": "14:30:00"
}
Раньше их иногда передавали как число в формате UNIX timestamp, но этот подход ушёл в прошлое.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ