Python 需要访问json.load中的嵌套值
我正在使用Hufman的霍尼韦尔Python代码从MyTotalConnectComfort网站中提取数据。代码是。我已经修改了2.7的代码。我也在用烧瓶 当我调用client.locations()时,我得到一个包含6个键的json文件。我缩减json中的数据,只获得我想要的单个键后面的数据,即“设备”。我使用以下代码来执行此操作:Python 需要访问json.load中的嵌套值,python,json,flask,honeywell,Python,Json,Flask,Honeywell,我正在使用Hufman的霍尼韦尔Python代码从MyTotalConnectComfort网站中提取数据。代码是。我已经修改了2.7的代码。我也在用烧瓶 当我调用client.locations()时,我得到一个包含6个键的json文件。我缩减json中的数据,只获得我想要的单个键后面的数据,即“设备”。我使用以下代码来执行此操作: Honeywelldata = client.locations() newlist2 = [] dada = {} for keyl, value in Hon
Honeywelldata = client.locations()
newlist2 = []
dada = {}
for keyl, value in Honeywelldata[0].items():
if keyl == "Devices":
dada[keyl] = value
print "dadakey", dada[keyl]
newlist2.append(dada)
print "newlist2 keys", newlist2[0].keys()
print "newlist2", json.dumps(newlist2, sort_keys=True,indent=4,separators=(',', ': '))
我在这个线程的底部获取数据和格式化列表。我正在尝试将此json传递到html,然后使用以下html代码发布此列表中的值。我尝试过很多东西,但我无法理解“设备”的子值
{{honeywell.Devices.ThermostatData.outdoor湿度| safe}}
我不断收到此错误UndefinedError:“列表对象”没有属性“设备”
我是否需要重新输入这个列表,或者除了作为一个新手,我做错了什么。谢谢
以下是newlist2密钥和数据(jsonlint.com将其显示为有效的json)
}]
{{{honeywell.Devices.ThermostatData.outdoor湿度| safe}}
霍尼韦尔属于
list
类型。确保所指的对象正确。{{{honeywell.Devices.ThermostatData.outdoor湿度| safe}}
霍尼韦尔属于
list
类型。确保引用的对象正确。在以下表达式中(我假设它是Django模板片段或Jinja2表达式):
{{ honeywell.Devices.ThermostatData.Outdoorhumidity | safe }}
变量霍尼韦尔
似乎是一个列表
。您可以尝试:
{{ honeywell[0].Devices[0].ThermostatData.Outdoorhumidity | safe }}
获取此列表的第一个元素。在以下表达式中(我假设它是Django模板片段或Jinja2表达式:
{{ honeywell.Devices.ThermostatData.Outdoorhumidity | safe }}
变量霍尼韦尔
似乎是一个列表
。您可以尝试:
{{ honeywell[0].Devices[0].ThermostatData.Outdoorhumidity | safe }}
获取此列表的第一个元素。如果是列表,那么你不应该获取属性…你应该获取索引…这样我才知道-为什么会投反对票?如果是列表,那么你不应该获取属性…你应该获取索引…这样我才知道-为什么会投反对票?谢谢Laurent-我试过了,但我得到了答案以下错误为UndefinedError:“列表对象”没有属性“ThermostatData”。读取JSON对象,您将看到设备也是一个列表。使用
Devices[0]
(或在其上循环)。请参阅我的编辑。谢谢Laurent-我尝试了此操作,但遇到以下错误:UndefinedError:“list object”没有属性“ThermostatData”。阅读JSON对象,您将看到设备也是一个列表。使用设备[0]
(或在其上循环)。请参阅我的编辑。