JSON (JavaScript Object Notation) — это текстовый формат передачи данных, который стал стандартом для обмена информацией между различными приложениями и сервисами. Хотя изначально JSON основан на JavaScript, он может использоваться в любом языке программирования. Файлы JSON используются для работы с REST API.
JSON-объект — это ключевая структура JSON. Он представляет собой набор пар «ключ:значение», записанных внутри фигурных скобок {}
. Каждый ключ в объекте — это строка. Скобки отмечают начало и конец объекта.
Ключ всегда записывается в двойных кавычках (“). Этим JSON отличается от JavaScript, где кавычки не всегда обязательны. А вот цифры можно в кавычки не брать, как в примере ниже.
Внутри одного JSON-объекта может содержаться несколько пар «ключ:значение», записанных через запятую. Обычно каждую пару пишут на новой строке, но это делается только для удобства чтения.
Значение может содержать данные различного типа: строка, число, массив, другой объект, с любым количеством уровней вложенности.
{
"name": "John",
"age": 30,
"address": {
"city": "Moscow",
"street": "Academician Petrovsky Street"
}
}
Ключи в JSON называют также свойствами, особенно если применить парадигму объектно-ориентированного программирования, где центральным является объект, обладающий свойствами. Запрос по REST API чаще всего вернет вам JSON-объект с определенным набором свойств.
В нашем примере пара "age": 30
— свойство объекта.
Но и ключ, и свойство — правильные термины, так что можно использовать их оба.
Читайте также: Разбираем Node.js. Как свойство main в package.json определяет точку входа
Массив в JSON записывается внутри квадратных скобок []
и представляет собой упорядоченный список значений. Массив может содержать элементы любого типа: строки, числа, другие массивы или объекты.
Простой пример JSON-массива:
{
"fruits": ["apple", "banana", "cherry"]
}
Пример более сложного массива:
{
"students": [
{"name": "Alice", "age": 22},
{"name": "Bob", "age": 25}
]
}
Важно! Поскольку внутри JSON-массива нет ключей, идентифицировать его можно только по номеру элемента. Если пары «ключ:значение» в JSON-объекте могут идти в любом порядке, то в JSON-массиве менять местами данные внутри массива нельзя.
Значения внутри массива разделяются запятыми. Важно, чтобы массив был well-formed (правильно сформированным). Он считается таким, если соответствует всем правилам синтаксиса. Для корректной работы файлов JSON формат должен соблюдаться строго, иначе появится ошибка. Поэтому мы уделяем много внимания описанию правильной структуры файла JSON.
Важно: при копировании данных из других документов нередко появляется лишняя запятая в конце списка пар «ключ:значение» или в конце массива. Из-за этого может появляться ошибка.
Для проверки синтаксиса JSON можно использовать инструменты, такие как JSON online-валидаторы или текстовые редакторы с поддержкой JSON-форматирования, например, VS Code.
Также интересно: Все про Node.js: зачем писать бэкенд на JavaScript и сколько за это платят
Visual Studio Code (VS Code) — текстовый редактор кода, разработанный компанией Microsoft специально для работы с OS Windows. Он также может применяться и в линейке Linux, и в веб-браузерах. Редактор предназначен для написания и редактирования кода.
Для удобства инструмент предлагает многочисленные расширения. Например, в Visual Studio Code можно найти синтаксические ошибки в файлах JSON и устранить их. Это позволяет проверять формат JSON в процессе написания.
Как VS Code помогает при работе с JSON:
Поскольку JSON API помогает осуществлять обмен данными в формате JSON между клиентом и сервером, используется оно повсеместно. Самый простой пример — прогноз погоды. Вы запрашиваете данные о погоде в приложении, оно отправляет JSON-запрос и получает JSON-ответ.
GET /api/weather
{
"city": "New York"
}
Ответ может выглядеть так:
{
"temperature": 22,
"condition": "Clear"
}
Файлы JSON можно открыть:
JSON и XML — два основных формата передачи данных. Однако JSON предпочтительнее благодаря простоте и компактности.
Характеристика | JSON | XML |
---|---|---|
Читаемость | Легко читается человеком | Сложнее воспринимается |
Объем данных | Компактный | Громоздкий |
Типы данных | Поддерживает типы данных | Все представляется как строки |
Структура | Объекты и массивы | Древовидная структура |
Как мы видим, JSON проще и эффективнее для передачи данных, особенно в веб-разработке. Однако XML все еще используется в протоколах SOAP и REST-запросах.
JSON — это простой, гибкий и удобный формат передачи данных, который активно используется в веб-разработке, мобильных приложениях и API. Благодаря своей лаконичности и читаемости JSON во многих областях заменил громоздкий XML. В статье рассказали простыми словами, что такое JSON, как он устроен, как создать JSON-файл, чем JSON отличается от XML и почему этот формат стал настолько популярным.
Краткое резюме:
Теперь вы знаете основы JSON, можете создавать файлы и работать с данными в этом формате. Больше о работе с JSON и его применении на практике вы сможете узнать на курсе Java для веб-сервисов компании Хекслет.