Отобразите JSON как [закрытый] HTML

У меня есть некоторый код, который похож, но не переписывает все содержимое каждый раз. Это предназначено для периодического запуска и добавления записи 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)
171
задан John Muchow 19 May 2009 в 17:09
поделиться

7 ответов

Если вы просто хотите сделать это с точки зрения отладки, вы можете использовать плагин Firefox, такой как JSONovich , для просмотра содержимого JSON.

Новый версия Firefox, которая в настоящее время находится в стадии бета-тестирования, должна изначально поддерживать это (как XML)

0
ответ дан 23 November 2019 в 20:43
поделиться

Если вы намеренно отображаете его для конечного пользователя, заключите текст 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 .

76
ответ дан 23 November 2019 в 20:43
поделиться

Вот инструмент javasript, который преобразует JSON в XML и наоборот, что должно улучшить его читаемость. Затем вы можете создать таблицу стилей, чтобы раскрасить ее, или полностью преобразовать ее в HTML.

http://www.xml.com/pub/a/2006/05/31/converting-between-xml-and-json .html

0
ответ дан 23 November 2019 в 20:43
поделиться

Думаю, вы имели в виду примерно следующее: Визуализация JSON

Не знаю, можно ли вам ее использовать, но вы можете спросить автора.

39
ответ дан 23 November 2019 в 20:43
поделиться

Для выделения синтаксиса используйте code prettify . Я считаю, что это то, что StackOverflow использует для выделения кода.

  1. Оберните ваш форматированный JSON в блоки кода и дайте им класс "prettyprint".
  2. Включите prettify.js в вашу страницу.
  3. Убедитесь, что ваш документ ' Тег тела s вызывает 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
    }
}

Это не помогает с отступом, но другие ответы , похоже, обращаются к этому.

64
ответ дан 23 November 2019 в 20:43
поделиться

Лучше всего использовать для этого инструменты вашего внутреннего языка. На каком языке ты говоришь? Для Ruby попробуйте json_printer .

0
ответ дан 23 November 2019 в 20:43
поделиться

Сначала возьмите строку JSON и сделайте из нее реальных объектов . Прокрутите все свойства объекта, поместив элементы в неупорядоченный список. Каждый раз, когда вы переходите к новому объекту, составляйте новый список.

-2
ответ дан 23 November 2019 в 20:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: