Раскрашивание вывода JSON в python

В python, если у меня есть объект JSON obj, тогда я могу

print json.dumps(obj, sort_keys=True, indent=4)

чтобы получить красивую распечатку объекта. Можно ли еще более удешевить вывод: добавьте некоторые цвета в частности? Что-то вроде результата [1]

cat foo.json | jq '.'

[1] jq панель инструментов JSON Swiss Army: http://stedolan.github.io/jq/

Ответ 1

Вы можете использовать Pygments для окраски вывода JSON. Основываясь на том, что у вас есть:

formatted_json = json.dumps(obj, sort_keys=True, indent=4)

from pygments import highlight, lexers, formatters
colorful_json = highlight(unicode(formatted_json, 'UTF-8'), lexers.JsonLexer(), formatters.TerminalFormatter())
print(colorful_json)

Пример вывода:

Пример вывода цветного кода пигментов