Fenix Industry
UA
+38 (096) 103 00 10 +38 (067) 243 76 88
CONTACTS
ПОРТФОЛИО
УСЛУГИ
КЛИЕНТЫ
КОНТАКТЫ
Написать
Fenix Industry
UA RU
curved-line
ПОРТФОЛИО
УСЛУГИ
КЛИЕНТЫ
СТУДИЯ
БЛОГ
КОНТАКТЫ
+38 (096) 103 00 10+38 (067) 243 76 88
Telegram Telegram Viber Viber Whatsapp Whatsapp
curved-line
Написать нам
Fenix Industry
Contact
sticker-us
+38 (096) 103 00 10 +38 (067) 243 76 88
Telegram Telegram Viber Viber Whatsapp Whatsapp
Написать нам
Главная Блог Терминология Что такое JSON

Что такое JSON

25.03.2026
Терминология
Что такое JSON
Давайте обсудим ваш проект

JSON — это тот незаметный герой, который делает взаимодействие между клиентом и сервером быстрым и удобным. Если вы когда‑то ловили себя на мысли «почему ответ от API выглядит так просто?» — добро пожаловать: сейчас разберёмся, как читать, формировать и сознательно «ломать» JSON, чтобы понимать поведение REST‑сервисов и уверенно работать в Postman и похожих инструментах.

Два основных формата передачи данных

При тестировании API чаще всего встречаются два формата передачи данных: XML и JSON. XML — это стандартный формат для SOAP, тогда как JSON доминирует в экосистеме REST API из‑за простоты чтения и меньшего объёма.

Как устроен JSON

В JSON в качестве значений могут выступать:

  • объект (JSON‑object);
  • массив (JSON‑array);
  • число (целое или с плавающей точкой);
  • литералы true, false, null;
  • строка (обязательно в кавычках).

Для тестировщика это значит: в REST‑запросах и ответах вы обычно увидите объекты и массивы с вложенностью, и умение быстро навигировать по ним — ключ к эффективной работе.

JSON-объект

Объект в JSON — это неупорядоченное множество пар "ключ:значение", заключённое в фигурные скобки { }. Ключ всегда строка и обязательно берётся в кавычки. Значение может быть любым из перечисленных типов.

Наглядный пример запроса подсказок (упрощённо):

{

  "query": "Виктор Иван",

  "count": 7

}

Здесь:

  • "query" — ключ (параметр поиска), значение — строка;
  • "count" — ключ, значение — число (количество подсказок).

Если сервер ожидает параметр с именем ключа, именно по названию ключа он будет извлекать значение. Порядок пар не играет роли, но на практике встречаются системы, которые на это не опираются — такие случаи нужно тестировать специально.

Неправильно (в виде примера)Правильно
{ "a": 1, { x:1, y:2 } }{ "a": 1, "inner_object": { "x":1, "y":2 } }
{ "a": 1, [2,3,4] }{ "a": 1, "inner_array": [2,3,4] }

Ключевые правила для объектов:

  • Ключи — всегда строки и должны быть в кавычках (в отличие от JavaScript-литерала);
  • Пары разделяются запятыми, а после последней пары запятая недопустима;
  • Можно использовать простые идентификаторы или предпочитать snake_case / camelCase — важно согласовать стандарт с командой.

Ключ или свойство?

Термины «ключ» и «свойство» часто используются взаимозаменяемо. В контексте JSON корректно говорить и так, и так: ключ — это поле в паре "ключ:значение", свойство — атрибут объекта в объектно‑ориентированной модели.

JSON-массив

Массив — это упорядоченный набор значений, заключённый в квадратные скобки []. Поскольку массивы упорядочены, доступ к элементам идёт по индексу, и перестановка элементов меняет смысл структуры.

Примеры значений внутри массива:

  • числа: [1, 5, 10, 33]
  • строки: ["MALE", "FEMALE"]
  • смешанные типы: [1, "Андрюшка", 10]
  • объекты как элементы: [1, {"a":1, "b":2}, "текст"]

Типичный ответ сервиса подсказок — это массив объектов. Каждый элемент массива — отдельная подсказка со своим набором полей и дополнительным вложенным объектом с данными.

СтруктураПримерКомментарий
Массив строк["MALE","FEMALE"]Подходит для перечней вариантов (enum)
Массив объектов[{"value":"Иванов","data":{...}}, {...}]Часто используется в ответах API

JSON vs XML

В SOAP обычно применяют XML, а в REST — чаще JSON. Причины популярности JSON:

  • меньший объём данных (нет парных тегов, повторяющих названия полей);
  • лучше читаем людьми, особенно при небольших нагрузках или работе в Postman;
  • широкая поддержка в современных языках и фреймворках.
КритерийJSON (оценка 1–5)XML (оценка 1–5)
Читаемость53
Размер передачи52
Поддержка сложных схем45
Стандартизация в REST53

Well Formed JSON (синтаксическая корректность)

Для корректной работы парсеров и серверов JSON должен быть well formed — синтаксически правильным. Рекомендую сверяться с описанием в RFC при глубоком изучении, а для повседневной валидации — использовать валидаторы (например, w3schools или популярные JSONLint) и инструменты вроде встроенного валидатора в Postman.

Коротко: основные правила:

  1. Данные в объекте записываются парами "ключ": значение;
  2. Пары и элементы массива разделяются запятыми;
  3. Объект — внутри фигурных скобок { };
  4. Массив — внутри квадратных скобок [ ].

1. Пары "ключ:значение"

В JSON ключ обязателен и должен быть в кавычках: "name":"Ольга". Учтите, что валидный JSON может быть не только объектом, но и одним значением, например просто числом 123 или строкой "Ольга".

2. Запятые между элементами

Частые ошибки при ручном редактировании JSON — лишняя запятая в конце объекта или её отсутствие между полями. Например,

Неправильно:

{

 "query":"Виктор Иван",

 "count":7,

}

Правильно:

{

 "query":"Виктор Иван",

 "count":7

}

При добавлении поля через копипаст легко оставить лишнюю запятую — это частая причина ошибок в тестах.

3. Фигурные скобки для объектов

Если система ожидает объект, она будет искать фигурные скобки. Ошибки: отсутствие одной из скобок или попытка передать объект в виде массива.

4. Квадратные скобки для массивов

Если система ожидает массив, используйте [ ]. Замена запятых на другой разделитель или попытка передать массив как объект приведёт к ошибке парсинга.

Итого

JSON (JavaScript Object Notation) — текстовый, человеко‑ и машиночитаемый формат обмена данными, широко используемый в REST API. Основные сущности: объект (пары ключ:значение) и массив (упорядоченный список значений). В JSON нет комментариев — это важно помнить при составлении примеров в Postman.

ПонятиеОписаниеПример
ОбъектНеупорядоченное множество пар "ключ:значение"{ "name":"Ольга", "age":30 }
МассивУпорядоченный набор значений[1,2,3] или ["a","b"]
Литералыtrue, false, nullnull

Советы и интересные факты о JSON

  • Валидация перед отправкой: всегда прогоняйте JSON через валидатор (Postman, JSONLint, w3schools), особенно при динамической генерации тела запроса.
  • Минификация: для тестов нагрузки отправляйте минимизированный JSON — это уменьшит трафик и повлияет на время отклика.
  • Тесты на нечёткие типы: попробуйте передать числа как строки и наоборот — некоторые API имеют строгую типизацию и выдадут понятную ошибку, другие — попытаются привести типы.
  • Перестановка ключей: убедитесь, что сервер не зависит от порядка ключей — это логическая ошибка в реализации API.
  • Логи и F12: при отладке GUI используйте вкладку Network в браузере — часто запросы в примерах документации видны именно там.

Часто задаваемые вопросы

Как отличить JSON от JavaScript-объекта?

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

Можно ли использовать комментарии в JSON?

Нет. В стандарте JSON комментарии отсутствуют. Для заметок используйте документацию или отдельные поля, но не в теле запроса.

Что делать, если сервер возвращает ошибку парсинга JSON?

Проверить валидность JSON: кавычки у ключей, запятые, скобки. Использовать валидатор и смотреть raw-тело запроса в инструментах разработчика или Postman.

Почему некоторые API возвращают массив в корне, а другие — объект?

Это выбор архитектуры API: массив подходит для списка сущностей, объект — для ответов с метаданными (пагинация, статус и т.д.).

special bg
Следующая
Статья
fenix-emblem
Вернуться
Назад
Терминология
24.09.2025
Что такое Kanban curved-line
Следующая
статья
+38 (096) 103 00 10
+38 (067) 243 76 88
footer img
check
Есть идея? Напишите нам
* - поля, обязательные для заполнения
Telegram
Viber
Whatsapp