Главная | Все статьи | Код

Понятие JSON и работа с форматом данных JSON

JavaScript Без стека Время чтения статьи ~6 минут
Понятие JSON и работа с форматом данных JSON главное изображение

JSON (JavaScript Object Notation) — это текстовый формат передачи данных, который стал стандартом для обмена информацией между различными приложениями и сервисами. Хотя изначально JSON основан на JavaScript, он может использоваться в любом языке программирования. Файлы JSON используются для работы с REST API.

Начните изучать основы JavaScript бесплатно

Начать бесплатный курс

Как устроен JSON-объект?

JSON-объект — это ключевая структура JSON. Он представляет собой набор пар «ключ:значение», записанных внутри фигурных скобок {}. Каждый ключ в объекте — это строка. Скобки отмечают начало и конец объекта.

Ключ всегда записывается в двойных кавычках (“). Этим JSON отличается от JavaScript, где кавычки не всегда обязательны. А вот цифры можно в кавычки не брать, как в примере ниже.

Внутри одного JSON-объекта может содержаться несколько пар «ключ:значение», записанных через запятую. Обычно каждую пару пишут на новой строке, но это делается только для удобства чтения.

Значение может содержать данные различного типа: строка, число, массив, другой объект, с любым количеством уровней вложенности.

Простой пример 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 записывается внутри квадратных скобок [] и представляет собой упорядоченный список значений. Массив может содержать элементы любого типа: строки, числа, другие массивы или объекты.

Простой пример JSON-массива:

{
  "fruits": ["apple", "banana", "cherry"]
}

Пример более сложного массива:

{
  "students": [
    {"name": "Alice", "age": 22},
    {"name": "Bob", "age": 25}
  ]
}

Важно! Поскольку внутри JSON-массива нет ключей, идентифицировать его можно только по номеру элемента. Если пары «ключ:значение» в JSON-объекте могут идти в любом порядке, то в JSON-массиве менять местами данные внутри массива нельзя.

Правильный формат JSON

Значения внутри массива разделяются запятыми. Важно, чтобы массив был well-formed (правильно сформированным). Он считается таким, если соответствует всем правилам синтаксиса. Для корректной работы файлов JSON формат должен соблюдаться строго, иначе появится ошибка. Поэтому мы уделяем много внимания описанию правильной структуры файла JSON.

Основные правила форматирования JSON

  • Данные записаны в виде пар «ключ:значение».
  • Пары разделены запятыми.
  • Значения могут содержать любой тип данных, включая объекты и массивы.
  • Объект JSON находится внутри фигурных скобок {}.
  • Массив JSON находится в квадратных скобках [].
  • Элементы массива разделены запятыми.
  • Уровень вложенности массива неограничен.

Важно: при копировании данных из других документов нередко появляется лишняя запятая в конце списка пар «ключ:значение» или в конце массива. Из-за этого может появляться ошибка.

Как проверить JSON?

Для проверки синтаксиса JSON можно использовать инструменты, такие как JSON online-валидаторы или текстовые редакторы с поддержкой JSON-форматирования, например, VS Code.

Также интересно: Все про Node.js: зачем писать бэкенд на JavaScript и сколько за это платят

VS Code для работы с JSON

Visual Studio Code (VS Code) — текстовый редактор кода, разработанный компанией Microsoft специально для работы с OS Windows. Он также может применяться и в линейке Linux, и в веб-браузерах. Редактор предназначен для написания и редактирования кода.

Для удобства инструмент предлагает многочисленные расширения. Например, в Visual Studio Code можно найти синтаксические ошибки в файлах JSON и устранить их. Это позволяет проверять формат JSON в процессе написания.

Как VS Code помогает при работе с JSON:

  1. Подсветка синтаксиса. Ключи, значения и скобки подсвечиваются разными цветами, так проще отслеживать его корректность.
  2. Автозавершение. Редактор подсказывает варианты структуры JSON и автоматически проверяет ошибки.
  3. Расширяемость. VS Code предлагает тонкие настройки и дополнительные плагины для работы с большими файлами JSON.

Пример использования JSON API в реальной жизни

Поскольку JSON API помогает осуществлять обмен данными в формате JSON между клиентом и сервером, используется оно повсеместно. Самый простой пример — прогноз погоды. Вы запрашиваете данные о погоде в приложении, оно отправляет JSON-запрос и получает JSON-ответ.

GET /api/weather
{
  "city": "New York"
}

Ответ может выглядеть так:

{
  "temperature": 22,
  "condition": "Clear"
}

Как открыть файл JSON

Файлы JSON можно открыть:

  • На компьютере.
    • С помощью текстовых редакторов, таких как Notepad++ или Visual Studio Code.
    • С помощью онлайн-инструментов для проверки и форматирования JSON.
  • На Android.
    • Используя приложения для чтения JSON, такие как JSON Viewer.
  • На iPhone.
    • C использованием приложения Apple Shortcuts.

Как создать JSON-файл

  1. Создайте новый файл в текстовом редакторе.
  2. Запишите данные в формате JSON.
  3. Сохраните файл с расширением .json.

Сравнение JSON и XML

JSON и XML — два основных формата передачи данных. Однако JSON предпочтительнее благодаря простоте и компактности.

Характеристика JSON XML
Читаемость Легко читается человеком Сложнее воспринимается
Объем данных Компактный Громоздкий
Типы данных Поддерживает типы данных Все представляется как строки
Структура Объекты и массивы Древовидная структура

Как мы видим, JSON проще и эффективнее для передачи данных, особенно в веб-разработке. Однако XML все еще используется в протоколах SOAP и REST-запросах.

Заключение

JSON — это простой, гибкий и удобный формат передачи данных, который активно используется в веб-разработке, мобильных приложениях и API. Благодаря своей лаконичности и читаемости JSON во многих областях заменил громоздкий XML. В статье рассказали простыми словами, что такое JSON, как он устроен, как создать JSON-файл, чем JSON отличается от XML и почему этот формат стал настолько популярным.

Краткое резюме:

  • JSON-объект состоит из пар «ключ:значение» и фигурных скобок.
  • JSON-массив используется для хранения упорядоченных списков.
  • JSON прост в использовании и поддерживается большинством языков программирования.
  • Для проверки синтаксиса можно использовать инструменты вроде Notepad++ или JSON online-валидаторы.

Теперь вы знаете основы JSON, можете создавать файлы и работать с данными в этом формате. Больше о работе с JSON и его применении на практике вы сможете узнать на курсе Java для веб-сервисов компании Хекслет.

Аватар пользователя Валерия Белякова
Валерия Белякова около 19 часов назад
1
Похожие статьи
Рекомендуемые программы
профессия
от 25 000 ₸ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 2 января
профессия
от 25 000 ₸ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 2 января
профессия
от 14 960 ₸ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 2 января
профессия
от 25 000 ₸ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 2 января
профессия
от 24 542 ₸ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 2 января
профессия
от 25 000 ₸ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 2 января
профессия
от 28 908 ₸ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 2 января
профессия
от 39 525 ₸ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 2 января
профессия
от 25 000 ₸ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 2 января
профессия
новый
Автоматизированное тестирование веб-приложений на JavaScript
8 месяцев
c опытом
Старт 2 января