如何将json呈现为html?

时间:2019-03-22 20:50:50

标签: python json django

我有JSON文件:

[
{
"key1": "value1",
"key2": "value2"
},
{
"key3": "value3",
"key4": "value4"
}]

输出应为:<h1>value1</h1><p>value2</p><h1>value3</h1><p>value4</p>

我正在这样尝试:

import json
with open('file.json') as f:
data = json.load(f)

for key in data:
    for k, v in key.items():
       print(k.replace(k, '<h1>') + v + (k.replace(k, '</h1>')))

但这太可怕了,愚蠢:(

此外,我还有另一个JSON文件:

[
   {
"h1": "value1",
"div": "value2"
  }
]

输出应为:

<h1>value1</h1><div>value2</div>

我的解决方案:

with open('file2.json') as f:
data = json.load(f)

for key in data:
    for k, v in key.items():
        print(f"<{k}>" + v + f"</{k}>")

这是可行的,有可能做得更好?

最后一个: 如果JSON有一个列表,则它具有的每个元素应为<ul>标记,并且每个<ul>元素应包含<li>元素:

JSON:

[
{
"h1": "value1",
"div": "value2"
},
{
"h1": "value3",
"div": "value4"
}]

输出应为:<ul><li><h1>value1</h1><div>value2</div></li><li><h1>value1</h1><div>value2</div></li></ul>

我如何解决这些任务? 请给我一些建议,以我的方式进行挖掘。使用Python或Django

1 个答案:

答案 0 :(得分:0)

您可能实际上对查看Django模板感兴趣。可以使用JSON here

我不确定您是否可以将其用于第三个。但是在普通的Python中,类似:

html = '<ul>'
for list_item in items:
    html += '<li>'
    for tag, value in list_items.items():
        html += '<{}>{}</{}>'.format(tag, value, tag)
    html += '</li>'
html += '</ul>'