Форматирование JSON

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

Что такое JSON?

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

В чём разница между JSON и XML?

JSON компактнее и проще в чтении, чем XML. JSON использует пары ключ-значение и массивы, тогда как XML использует теги. JSON быстрее парсится и занимает меньше места. XML поддерживает атрибуты, схемы и пространства имён. Для веб-API JSON стал стандартом де-факто благодаря своей простоте.

Какие наиболее частые ошибки в JSON?

Частые ошибки: завершающая запятая после последнего элемента (недопустима в JSON); использование одинарных кавычек вместо двойных; отсутствие кавычек у ключей; комментарии (JSON не поддерживает комментарии); использование undefined или функций; одинарные кавычки в строках. Всегда проверяйте ваш JSON, чтобы обнаружить эти ошибки заранее.

Какие типы данных поддерживает JSON?

JSON поддерживает шесть типов данных: строки (в двойных кавычках), числа (целые и с плавающей точкой), логические значения (true/false), null, объекты (наборы пар ключ-значение в фигурных скобках) и массивы (упорядоченные списки в квадратных скобках). JSON не поддерживает даты, функции и undefined.

Как парсить JSON в разных языках?

Каждый современный язык программирования имеет встроенные или стандартные библиотеки для работы с JSON:

JavaScript: JSON.parse(jsonString) / JSON.stringify(object)
Python: import json; json.loads(string) / json.dumps(object)
Java: new ObjectMapper().readValue(json, Class.class) // Jackson
PHP: json_decode($json) / json_encode($array)
Go: json.Unmarshal([]byte(str), &obj) / json.Marshal(obj)
C#: JsonSerializer.Deserialize<T>(json) / JsonSerializer.Serialize(obj)

Когда использовать форматирование, а когда минификацию?

Форматирование (beautify) с отступами и переносами строк используйте для разработки, отладки и чтения — это упрощает понимание структуры данных. Минификация удаляет все пробелы и переносы — используйте её для продакшена и передачи данных по сети, чтобы уменьшить размер и ускорить загрузку.

Как JSON используется в REST API?

JSON — стандартный формат для REST API. Запросы отправляются с заголовком 'Content-Type: application/json', а тело содержит JSON-данные. Ответы также возвращаются в формате JSON. Это обеспечивает универсальность — любой клиент на любом языке может работать с API.

Как проверить валидность JSON?

Для проверки JSON используйте try-catch при парсинге или специальные валидаторы. Для проверки структуры данных используйте JSON Schema — это позволяет определить ожидаемые типы, обязательные поля и ограничения значений. Многие IDE также имеют встроенные функции проверки JSON.