Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
01 Июн 2023
6 мин
2069

Json: всё, что вам нужно знать о формате данных

JSON быстро стал популярным форматом для обмена данными в веб-приложениях из-за своей простоты и универсальности. Его поддерживают практически все

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

Пример, как выглядит JSON-объект:

{
«name»: «John»,
«age»: 30,
«city»: «New York»,
«hobbies»: [«swimming», «reading», «traveling»]
}

Этот JSON-объект описывает человека с именем John возрастом 30 лет, который живет в городе New York и имеет несколько хобби: плавание, чтение и путешествия.

Ключи («name», «age», «city», «hobbies») — это строки, а значения («John», 30, «New York», [«swimming», «reading», «traveling»]) могут быть строками, числами, массивами, объектами или другого типа, который поддерживает формат. О них расскажем ниже.

Как появился JSON

JSON в начале 2000-х годов создал программист и эксперт по JavaScript Дуглас Крокфорд (Douglas Crockford). Он разработал JSON как легковесный формат обмена данными, который был бы простым для чтения и записи и человеком, и машиной.

Исторически JSON развивался из языка программирования JavaScript. Впервые его упоминает в работе JavaScript: The Good Parts Дуглас Крокфорд. В этой книге он представил JSON как подмножество языка JavaScript.

JSON быстро стал популярным форматом для обмена данными в веб-приложениях из-за своей простоты и универсальности. Его поддерживают практически все языки программирования — и он стал стандартом для работы между клиентским и серверным ПО в интернете.

Сейчас JSON используют в разработке мобильных приложений, облачных решений и интернете вещей (IoT).

Как устроен JSON

Синтаксис JSON достаточно простой и легко читается. Разберем основные элементы его синтаксиса.

Объекты (Objects)

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

Основные признаки:

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

{
«ключ1»: «значение1»,
«ключ2»: «значение2»
}

Массивы (Arrays)

Массивы в JSON — это упорядоченные списки данных, внутри которых есть разные типы информации. Признаки массивов:

🟢 Массивы в JSON представлены в квадратных скобках [].
🟢 Элементы массива разделяются запятой ,.

Например, массив JSON может содержать список фруктов:

[«яблоко», «банан», «апельсин»]

Или разные объекты:

[
{«имя»: «Джон», «возраст»: 30},
{«имя»: «Анна», «возраст»: 25}
]

Здесь каждый элемент массива — это объект, где описана информация о разных людях.

Строки (Strings)

Это текстовая информация, которая нужна, чтобы представлять данные: имена, описания, сообщения и т. д. В строках могут быть буквы, цифры, специальные символы и пробелы.

Примеры строк в JSON:

«Привет, мир!»

«Это строка с цифрами: 123456»

«Специальные символы: !@#$%^&*()»

Строки в JSON используют для передачи текстовой информации между приложениями и системами.

Если в строках есть кавычки, их записывают так:

{ «legal_entity»: «ООО \»Василёк\»» }

Числа (Numbers)

Числа в JSON нужны для количественных данных: возраста, количества, даты или любого другого числового параметра. Числа в JSON могут быть положительными или отрицательными, целыми или дробными.

Примеры чисел в JSON:

3.14

1.23e5 // Эквивалентно 1.23 * 10^5

Логические значения (Boolean)

JSON поддерживает два логических значения: true и false.

{
«isActive»: true,
«isAdmin»: false,
«isMember»: true,
«isVerified»: false
}

В этом примере каждое логическое значение указывает на какое-то состояние или свойство объекта:

🟡 «isActive»: true значит, что учетная запись активна;
🟡 «isAdmin»: false значит, что пользователь не администратор системы;
🟡 «isMember»: true значит, что пользователь — участник какой-то группы;
🟡 «isVerified»: false значит, что аккаунт пользователя не подтвержден.

Пустые значения

Они показывают, что в параметре ничего не содержится. Пример пустого значения:

{
«bornOn»: «27.12.1994»
«diedOn»: null
}

Курсы по программированию
Помогаем получить новую профессию с гарантией трудоустройства!
Подробнее
Курсы по программированию

В чём преимущества JSON

У JSON есть преимущества, которые делают его популярным форматом для обмена данными.

➡️ Простота чтения человеком. У JSON простой и понятный синтаксис, что делает его удобным инструментом для разработчиков. JSON — текстовый формат данных, поэтому для его чтения и записи ничего не нужно преобразовывать в специальный бинарный формат.
➡️ Иерархическая структура. С JSON можно создать сложные объекты и вложенные структуры. Поэтому с ним легко передавать структурированные данные.
➡️ Легкая поддержка. У многих популярных языков программирования в составе есть функции для работы с JSON, а в JavaScript эта нотация встроена прямо в язык.
➡️ Читаемость. У JSON нет сложных элементов или функций, поэтому приложения легко разрабатывать, тестировать и оптимизировать.

Что такое JSON5

JSON5 — это расширенный формат JSON, в котором есть дополнительные возможности и инструменты для разработки. С JSON5 можно:

  1. Включать комментарии в код — так легче документировать и понимать структуры данных.
  2. Опускать запятые между элементами массива или объекта и делать код более минималистичным и удобным.
  3. Использовать и однострочные, и многострочные объекты без специальных символов.

А еще у JSON5 есть поддержка дополнительных типов данных, например Infinity, NaN и -Infinity. При этом любой JSON5-документ работает и с JSON.

Как работать с JSON

Для чтения JSON из файла или строки сначала нужно загрузить его в память как текстовую строку или байтовый поток. Потом — преобразовать в структуру данных. У многих языков программирования уже есть встроенные методы для разбора (парсинга) JSON — они автоматически преобразуют его в нужные структуры данных.

Чтобы записать данные в формате JSON, преобразуйте структуру данных — например, объекты и массивы — в формат JSON. Потом сохраните всё в файл или передайте по сети в виде текстовой строки.

Пример работы с JSON на JavaScript:

// Чтение JSON из строки
const jsonStr = ‘{«name»: «John», «age»: 30}’;
const obj = JSON.parse(jsonStr);
console.log(obj.name); // Выведет «John»

// Запись JSON в строку
const obj2 = { name: ‘Jane’, age: 25 };
const jsonStr2 = JSON.stringify(obj2);
console.log(jsonStr2); // Выведет ‘{«name»:»Jane»,»age»:25}’

Пример работы с JSON на Python:

import json

# Чтение JSON из файла
with open(‘data.json’, ‘r’) as f:
data = json.load(f)
print(data[‘name’]) # Выведет «John»

# Запись JSON в файл
data2 = {‘name’: ‘Jane’, ‘age’: 25}
with open(‘data2.json’, ‘w’) as f:
json.dump(data2, f)

Главное о JSON

🟢 JSON (JavaScript Object Notation) — это легковесный формат обмена данными, который основан на двух структурах: объектах и массивах.
🟢 Объекты в JSON — это неупорядоченные коллекции пар «ключ — значение».
🟢 Объекты заключаются в фигурные скобки ({}).
🟢 Массивы в JSON — это упорядоченные списки значений.
🟢 JSON поддерживает различные типы данных: строки, числа, логические значения (true/false), объекты, массивы и значение null.
🟢 JSON легко читается и человеком, и компьютером.

Тест на профориентацию
За 10 минут узнайте, как ваш опыт пригодиться в IT индустрии
Подробнее
Тест на профориентацию

Добавить комментарий