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

2024-09-28 01:33:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Hufman的Honeywell Python代码从MyTotalConnectComfort网站获取数据。代码是here。我已经修改了2.7的代码。我也在用烧瓶。在

当我打电话给客户位置()我得到一个json文件,它有6个键。我缩减了json中的数据,只得到我想要的一个键“Devices”后面的数据。我使用以下代码来执行此操作:

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.Outdoorhumidity | safe }}

我一直收到这个错误UndefinedError: 'list object' has no attribute 'Devices'

我是需要重新输入这个列表,还是除了作为一个新手我做错了什么。谢谢。在

这是新的列表2键和数据(jsonlint.com网站将其显示为有效的json)

^{pr2}$

}]


Tags: 数据代码json列表value网站htmlkeys
2条回答

{{ honeywell.Devices.ThermostatData.Outdoorhumidity | safe }}

霍尼韦尔属于list型。确保你引用的对象是正确的。在

在下面的表达式中(我假设它是Django模板片段和/或Jinja2表达式:

{{ honeywell.Devices.ThermostatData.Outdoorhumidity | safe }}

变量honeywell似乎是list。你可以试试:

^{pr2}$

获取此列表的第一个元素。在

相关问题 更多 >

    热门问题