gpt4 book ai didi

python - 在flask html页面中访问json数据

转载 作者:行者123 更新时间:2023-12-02 02:37:39 25 4
gpt4 key购买 nike

我有一个 Python/Flask 应用程序。在views.py 中,我正在查询数据库并将分页对象返回到html 页面进行渲染。此处返回的模型对象包含一个名称属性,可以像在 HTML 页面上一样访问该属性:

{% for item in passed_items.items %}
{{item.name}}
{% endfor %}

输出正确。该对象还具有一个 JSON 编码的属性。我无法正确访问此数据。

{% for item in passed_items.items %}
{{item.json}}
{% endfor %}

将正确输出所有 JSON,但我无法访问 JSON 中的任何特定信息。例如,item.json 将输出:

{"location":"here", "city":"there"}

但我无法访问特定信息,例如位置或城市。我知道 JSON 编码正确,因为我将其复制并粘贴到 python 终端中并且能够访问它。由于某种原因,Python 似乎无法识别作为 dict 或 JSON 输出的数据。这是我尝试过的:

{% for item in passed_items.items %}
{{item.json["location"]}}
{{item.json['location']}}
{{item.json.location}}
{% endfor %}

这些都没有给出任何输出。关于如何访问这些数据有什么建议吗?或者如何让它被识别为字典或 JSON?我觉得我花了太多时间尝试在这里访问一个简单的 JSON 对象,哈哈。

感谢您的帮助!

编辑:我已通过输入确认:

{% for json in item.json %}
{{json}}
{% endfor %}

它只是将每个字符视为一个元素,而不将其识别为字典或 JSON 格式。 for 循环单独输出每个字符,而不是我想要的键/值对。

Edit2:谢谢大家,是的,我在views.py中使用了json.loads()来首先处理JSON。然后我就可以在 html 页面中很好地访问它。感谢您的帮助!

最佳答案

json 属性可能是一个字符串,您可以将其转换为字典,如下所示:

import json

data = {
"name": "Johnson",
"json": '{"array":[1,2,3],"boolean":true,"null":null,"number":123,"object":{"a":"b","c":"d","e":"f"},"string":"Hello World"}'
}

data['json'] = json.loads(data['json'])
print data['json']['number']

关于python - 在flask html页面中访问json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23916117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com