【问题标题】:How to render json to html?如何将json渲染为html?
【发布时间】:2019-03-22 20:50:49
【问题描述】:

我有 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 有一个列表,它的每个元素都应该是 &lt;ul&gt; 标签,每个 &lt;ul&gt; 元素应该包含 &lt;li&gt; 元素:

JSON:

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

输出应该是:&lt;ul&gt;&lt;li&gt;&lt;h1&gt;value1&lt;/h1&gt;&lt;div&gt;value2&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;h1&gt;value1&lt;/h1&gt;&lt;div&gt;value2&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;

我该如何解决这些任务? 请给我一些建议,我可以用哪种方法来挖掘它。使用 Python 或 Django

【问题讨论】:

    标签: python json django


    【解决方案1】:

    您可能实际上对查看 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>'
    

    【讨论】:

      猜你喜欢
      • 2011-06-01
      • 2020-07-31
      • 1970-01-01
      • 1970-01-01
      • 2015-06-06
      • 2017-01-29
      • 2011-07-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多