Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Flask中将JSON字符串转换为HTML表?_Html_Json_Flask - Fatal编程技术网

如何在Flask中将JSON字符串转换为HTML表?

如何在Flask中将JSON字符串转换为HTML表?,html,json,flask,Html,Json,Flask,我试图将json转换为html表,但出现错误UndefinedError:“unicode对象”没有属性“items”。 我从响应中得到json,并将其存储到d5中 ['{“pf”:“K”、''users:1'、''EVENTS:1}'、'{“pf”:“A”、''users:7'、''EVENTS:7}'、'{“pf”:“I”、''users:3'、''EVENTS:3}'] 下面是我的代码 finalJson = json.dumps(d5) table_data = (json2ht

我试图将json转换为html表,但出现错误UndefinedError:“unicode对象”没有属性“items”。 我从响应中得到json,并将其存储到d5中

['{“pf”:“K”、''users:1'、''EVENTS:1}'、'{“pf”:“A”、''users:7'、''EVENTS:7}'、'{“pf”:“I”、''users:3'、''EVENTS:3}']

下面是我的代码

finalJson = json.dumps(d5)
    table_data = (json2html.convert(json = finalJson))
    return render_template_string('''
    <table>
            <tr>
                <td> PF </td> 
                <td> users </td>
                <td> events </td>
            </tr>

    {% for pf, users,events in table_data.items() %}

            <tr>
                <td>{{ pf }}</td> 
                <td>{{ users }}</td>
                <td>{{ events }}</td>
            </tr>
    {% endfor %}
    </table>
''', table_data=table_data)
finalJson=json.dumps(d5)
表_data=(json2html.convert(json=finalJson))
返回渲染模板字符串(“”)
PF
使用者
事件
{%用于pf、用户、表_data.items()中的事件%}
{{pf}}
{{users}}
{{events}}
{%endfor%}
'',表_数据=表_数据)
我想把json转换成html表格,比如

pf 使用者 事件 K 1. 1. 我 3. 3. A. 7. 7.
d5='[{“pf”:“K”,“用户”:1,“事件”:1},{“pf”:“A”,“用户”:7,“事件”:7},{“pf”:“I”,“用户”:3,“事件”:3}]'
finalJson=json.loads(d5)
返回渲染模板字符串(“”)
PF
使用者
事件
{%pf、用户、事件在finalJson%}
{{pf}}
{{users}}
{{events}}
{%endfor%}
'',finalJson=finalJson)
首先,字符串d5应该具有正确的json格式。 其次,如果要将字符串转换为json,可以使用json.loads(而不是dumps)


最后一个JSON是“列表”。因此,您可以在不使用items()函数的情况下对其进行迭代。

正如我在上面检查的那样,尝试以下操作

d5=['{“pf”:“K”,“用户”:1,“事件”:1},{“pf”:“A”,“用户”:7,“事件”:7},{“pf”:“I”,“用户”:3,“事件”:3}]
#将spark json数组结果转换为列表。
finalJson=json.load(“[”+d5[0]+“]))
返回渲染模板字符串(“”)
表,th,td{
边框:1px纯黑;
}
桌子{
宽度:80%;
边界塌陷:塌陷;
}
运输署{
文本对齐:居中
}
th:第一个孩子,td:第一个孩子{
文本对齐:左对齐
}
th:最后一个孩子,td:最后一个孩子{
文本对齐:右对齐
}
PF
使用者
事件
{表_data%}中的行的%
{{row['pf']}
{{row['users']}
{{row['events']}
{%endfor%}
'',表_data=finalJson)

您也可以根据需要随意修改样式。

为什么数据需要json格式?您可以将其保留为原始形式。@Epichen我从响应中获得json,我想使用它响应是['{“pf”:“K”:“用户”:1',““events”:1}',“{“pf”:“A”,““用户”:7',““events”:7}',“{“pf”:“I”,““用户”:3',““events”:3}]或[{“pf”:“K”:“用户”:1,“events”:1},“{“pf”:“A”,“用户”:7”,“events”:“7”,“{“pf,事实上,第一个是错误的josn格式,如果你把它贴到实际上是spark dataframe的输出,我做了一些调查,我认为spark dataframe的输出应该是['{“pf”:“K”,“users”:1,“Events”:1},{“pf”:“A”,“users”:7,“Events”:7},{“pf”:“I”,“users”:3,“Events”:3}]我想你的json也是无效的。你注意到d5不是一个字符串吗?d5是一个数组。[xxxxxxx],你的意思是你的d5=“['{“pf”:“K”,“users”:1,“evennts”:1},{“pf”:“a”,“users”:7,“evennts”:7},{“pf”:“I”,“users”:3,“evennts”:3}]"? 目标是在调用json.loadThank之前将字符串修改为有效的json字符串,明白了吗。但仍然有一个问题。在PF列中,我得到了类似事件的行,在Users列中,我得到了PF,在events列中,我得到了用户。也许你可以提供屏幕截图?你能给我你的电子邮件id吗,我会给你发送屏幕截图我已经修改了代码,main在{%for row In table_data%}循环部分。此外,字段“events”的原始拼写不正确,我已将其从“events”修改为“events”。
d5='[{"pf":"K","users":1,"events":1},{"pf":"A","users":7,"events":7},{"pf":"I","users":3,"events":3}]'
finalJson = json.loads(d5)

return render_template_string('''
<table>
        <tr>
            <td> PF </td> 
            <td> users </td>
            <td> events </td>
        </tr>

{% for pf, users,events in finalJson %}

        <tr>
            <td>{{ pf }}</td> 
            <td>{{ users }}</td>
            <td>{{ events }}</td>
        </tr>
{% endfor %}
</table>
''', finalJson=finalJson)