форматировать | валидировать | минифицировать

> форматировать | валидировать | минифицировать <

// Форматируйте, валидируйте и минифицируйте данные JSON мгновенно

[FORMAT]

Красивая Печать

Форматируйте JSON с настраиваемыми отступами. Выберите 2 пробела, 4 пробела или табуляции.

[MINIFY]

Компактный Вывод

Минифицируйте JSON, удалив все пробелы. Уменьшите размер для продакшена и API.

[VALIDATE]

Проверка Синтаксиса

Валидируйте синтаксис JSON мгновенно. Получайте подробные сообщения об ошибках.

// О ФОРМАТИРОВАНИИ JSON

Что такое JSON:

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

Пример:

{"name":"John","age":30} → {\n "name": "John",\n "age": 30\n}

Типичные случаи использования:

  • >Отладка и анализ ответов API
  • >Форматирование конфигурационных файлов
  • >Валидация данных перед обработкой
  • >Уменьшение размера минификацией
  • >Сортировка ключей для единообразного вывода

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

В: Что такое форматировщик JSON?

О: Форматировщик JSON берёт сырые или минифицированные данные JSON и переформатирует их с правильными отступами и переносами строк.

В: В чём разница между форматированием и минификацией?

О: Форматирование добавляет отступы и переносы строк. Минификация удаляет все лишние пробелы для уменьшения размера файла.

В: Как работает валидация JSON?

О: Валидация JSON проверяет соответствие ввода спецификации JSON (RFC 8259), включая скобки, кавычки и типы данных.

В: Для чего сортировать ключи?

О: Алфавитная сортировка переупорядочивает все ключи объекта в структуре JSON для удобного сравнения и единообразия.

В: Как JSON сравнивается с YAML?

О: JSON использует фигурные скобки со строгим синтаксисом, а YAML — отступы. JSON шире поддерживается в API. YAML более читаем, но сложнее в парсинге.

// Частые ошибки в JSON

Эти записи допустимы в JavaScript, но недопустимы в строгом JSON.

НеверноВерно
{'a': 1}{"a": 1}
{"a": 1,}{"a": 1}
{a: 1}{"a": 1}
{"a": undefined}{"a": null}
{"a": 01}{"a": 1}

// Форматирование JSON в коде

JavaScript  JSON.stringify(obj, null, 2)
Python      json.dumps(obj, indent=2, ensure_ascii=False)
PHP         json_encode($obj, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE)
Go          json.MarshalIndent(v, "", "  ")
Java        new ObjectMapper().writerWithDefaultPrettyPrinter()
CLI         jq . file.json
CLI         python3 -m json.tool file.json

>> Другие вопросы

В: Какой отступ выбрать: 2 пробела, 4 пробела или табуляцию?

О: Это вопрос договорённости в команде; главное — единообразие. 2 пробела распространены в веб-проектах и экономят ширину при глубокой вложенности, 4 пробела часто встречаются в Python, табуляция позволяет каждому настроить ширину. Для передачи по сети самый компактный вариант — минифицированный JSON без отступов.

В: Почему мой JSON недействителен?

О: Чаще всего причина в одинарных кавычках вместо двойных, ключах без кавычек, запятой после последнего элемента, комментариях, undefined, NaN или ведущих нулях в числах. Сообщение об ошибке обычно указывает строку и столбец первого сбоя.

В: Что такое JSON5 и JSONC и как они связаны с JSON?

О: JSON5 и JSONC — расширения, допускающие комментарии, завершающие запятые и другие записи (например, в tsconfig.json или настройках VS Code). Это не валидный JSON: форматтер ожидает строгий JSON, поэтому сначала удалите комментарии и завершающие запятые.

// ДРУГИЕ ЯЗЫКИ