> форматировать | валидировать | минифицировать <
// Форматируйте, валидируйте и минифицируйте данные JSON мгновенно
Красивая Печать
Форматируйте JSON с настраиваемыми отступами. Выберите 2 пробела, 4 пробела или табуляции.
Компактный Вывод
Минифицируйте JSON, удалив все пробелы. Уменьшите размер для продакшена и API.
Проверка Синтаксиса
Валидируйте синтаксис 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, поэтому сначала удалите комментарии и завершающие запятые.