У меня есть некоторый код, который похож, но не переписывает все содержимое каждый раз. Это предназначено для периодического запуска и добавления записи JSON в конец массива.
Если файл еще не существует, он создает его и выгружает JSON в массив. Если файл уже создан, он доходит до конца, заменяет ]
на ,
, удаляет новый объект JSON, а затем снова закрывает его другим ]
# Append JSON object to output file JSON array
fname = "somefile.txt"
if os.path.isfile(fname):
# File exists
with open(fname, 'a+') as outfile:
outfile.seek(-1, os.SEEK_END)
outfile.truncate()
outfile.write(',')
json.dump(data_dict, outfile)
outfile.write(']')
else:
# Create file
with open(fname, 'w') as outfile:
array = []
array.append(data_dict)
json.dump(array, outfile)
Если вы просто хотите сделать это с точки зрения отладки, вы можете использовать плагин Firefox, такой как JSONovich , для просмотра содержимого JSON.
Новый версия Firefox, которая в настоящее время находится в стадии бета-тестирования, должна изначально поддерживать это (как XML)
Если вы намеренно отображаете его для конечного пользователя, заключите текст JSON в теги
и
, например:
<html>
<body>
<pre>
<code>
[
{
color: "red",
value: "#f00"
},
{
color: "green",
value: "#0f0"
},
{
color: "blue",
value: "#00f"
},
{
color: "cyan",
value: "#0ff"
},
{
color: "magenta",
value: "#f0f"
},
{
color: "yellow",
value: "#ff0"
},
{
color: "black",
value: "#000"
}
]
</code>
</pre>
</body>
</html>
В противном случае я бы использовал JSON Viewer .
Вот инструмент javasript, который преобразует JSON в XML и наоборот, что должно улучшить его читаемость. Затем вы можете создать таблицу стилей, чтобы раскрасить ее, или полностью преобразовать ее в HTML.
http://www.xml.com/pub/a/2006/05/31/converting-between-xml-and-json .html
Думаю, вы имели в виду примерно следующее: Визуализация JSON
Не знаю, можно ли вам ее использовать, но вы можете спросить автора.
Для выделения синтаксиса используйте code prettify . Я считаю, что это то, что StackOverflow использует для выделения кода.
prettyPrint ()
при загрузке У вас будет выделен синтаксис JSON в формате, который вы выложили на своей странице. См. здесь для примера . Итак, если бы у вас был такой блок кода:
<code class="prettyprint">
var jsonObj = {
"height" : 6.2,
"width" : 7.3,
"length" : 9.1,
"color" : {
"r" : 255,
"g" : 200,
"b" : 10
}
}
</code>
Он бы выглядел так:
var jsonObj = {
"height" : 6.2,
"width" : 7.3,
"length" : 9.1,
"color" : {
"r" : 255,
"g" : 200,
"b" : 10
}
}
Это не помогает с отступом, но другие ответы , похоже, обращаются к этому.
Лучше всего использовать для этого инструменты вашего внутреннего языка. На каком языке ты говоришь? Для Ruby попробуйте json_printer .
Сначала возьмите строку JSON и сделайте из нее реальных объектов . Прокрутите все свойства объекта, поместив элементы в неупорядоченный список. Каждый раз, когда вы переходите к новому объекту, составляйте новый список.