Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.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
Python 需要访问json.load中的嵌套值_Python_Json_Flask_Honeywell - Fatal编程技术网

Python 需要访问json.load中的嵌套值

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

我正在使用Hufman的霍尼韦尔Python代码从MyTotalConnectComfort网站中提取数据。代码是。我已经修改了2.7的代码。我也在用烧瓶

当我调用client.locations()时,我得到一个包含6个键的json文件。我缩减json中的数据,只获得我想要的单个键后面的数据,即“设备”。我使用以下代码来执行此操作:

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]
(或在其上循环)。请参阅我的编辑。