gpt4 book ai didi

python - 访问 python 字典元素时遇到问题

转载 作者:行者123 更新时间:2023-11-30 22:42:59 25 4
gpt4 key购买 nike

我有以下字典:

b = {None: u'{"TimeStamp":"2017-01-30T13:50:22.3854765+00:00","RealEstate":          {"Id":"fa9ba4d0-3e69-46f0-9460-05d6b2ff1211","Name":"Building 1","Room":"Room     1","Device":{"Id":"fa9ba4d0-3e69-46f0-9460-08d6b2ff6408","Payload":{"Temperature":{"Unit":"C","Value":32.3},"Humidity":{"Unit":"%","Value":12},"Light":{"Unit":"lux","Value":154},"Motion":{"Unit":"Number of motion","Value":0},"Co2":null}}},"Message":null}'}

并且无法访问任何元素。尝试了 b['None']b['u']b['TimeStamp'],它们都会生成:

ERROR: ..../sparkstream.py", line 24, in test
c = b['u']

按键错误:'u'

有什么建议吗!?

最佳答案

你有一本只有一个键的字典,你可以通过b[None]访问它的值。该值又是一个字符串,而不是字典。为了获取字典,您必须使用 JSON 对其进行解码:

import json

b = {None: u'{"TimeStamp":"2017-01-30T13:50:22.3854765+00:00","RealEstate": {"Id":"fa9ba4d0-3e69-46f0-9460-05d6b2ff1211","Name":"Building 1","Room":"Room 1","Device":{"Id":"fa9ba4d0-3e69-46f0-9460-08d6b2ff6408","Payload":{"Temperature":{"Unit":"C","Value":32.3},"Humidity":{"Unit":"%","Value":12},"Light":{"Unit":"lux","Value":154},"Motion":{"Unit":"Number of motion","Value":0},"Co2":null}}},"Message":null}'}
dict_object = json.loads(b[None])
print json.dumps(dict_object, indent=2) # Show the decoded result

# Accessing some keys
print '---'
print 'Time stamp:', dict_object['TimeStamp']
print 'Real Estate ID:', dict_object['RealEstate']['Id']
print 'Device ID:', dict_object['RealEstate']['Device']['Id']

输出:

{
"TimeStamp": "2017-01-30T13:50:22.3854765+00:00",
"Message": null,
"RealEstate": {
"Device": {
"Id": "fa9ba4d0-3e69-46f0-9460-08d6b2ff6408",
"Payload": {
"Motion": {
"Value": 0,
"Unit": "Number of motion"
},
"Light": {
"Value": 154,
"Unit": "lux"
},
"Co2": null,
"Temperature": {
"Value": 32.3,
"Unit": "C"
},
"Humidity": {
"Value": 12,
"Unit": "%"
}
}
},
"Room": "Room 1",
"Id": "fa9ba4d0-3e69-46f0-9460-05d6b2ff1211",
"Name": "Building 1"
}
}
---
Time stamp: 2017-01-30T13:50:22.3854765+00:00
Real Estate ID: fa9ba4d0-3e69-46f0-9460-05d6b2ff1211
Device ID: fa9ba4d0-3e69-46f0-9460-08d6b2ff6408

关于python - 访问 python 字典元素时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41937881/

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