Проверка и форматирование JSON
Проверка JSON с местом и причиной ошибки, форматирование, сжатие в строку и дерево.
Результат
Дерево
Путь для jq
Считается в браузере, на сервер ничего не уходит
В терминале Linux
jq . config.json
# проверить и красиво вывести
jq -c . config.json
# в одну строку
jq '.services.web.image' compose.json
# значение по пути
jq empty daemon.json && systemctl restart docker
# перезапуск, только если JSON верный
python3 -m json.tool config.json
# проверка без jq
УчтиВ JSON нет комментариев и запятой после последнего элемента — при правке конфига вручную это самые частые ошибки.
Частые вопросы
Почему JSON не проходит проверку, хотя в коде работает?
Это объект JavaScript или Python, а не JSON: одинарные кавычки, ключи без кавычек, запятая в
конце, комментарии, True и None.
Как сжать JSON в одну строку?
Выбери вид «В строку»: пробелы и переводы строк уйдут, данные не изменятся. В терминале —
jq -c ..
Что значит «число больше 2⁵³»?
JavaScript хранит числа как 64-битные с плавающей точкой, и целые больше 9 007 199 254 740 991 теряют точность. Такие идентификаторы передавай строкой.