[英]How can I pull nested JSON values from python using dictionaries?
我的数据库格式如下:
{
"latitude" : 41.884629,
"longitude" : -87.648764,
"name" : "Bar Siena",
"placeID" : "ChIJf3h_t9osDogReehZO7Hgk50",
"vibes" : {
"LGpswrvLgfYppcBG4bpmNzXQVoU2" : {
"rating" : 1,
"timestamp" : 1.477961061358844E9
},
"OSzA2KhTBWS3pxVnCZ6eScAuNDG3" : {
"rating" : 5,
"timestamp" : 1.477955566836665E9
}
}
}
我想拉出每个条形图的名称,以及振动表中与之对应的每个评级。 我的代码看起来像这样:
firebase = pyrebase.initialize_app(config)
db = firebase.database()
for i in range(1,100):
venues = db.child("venues").child(i).get()
dict = (venues.val())
print(dict['name'])
到目前为止,我只能得到这些名字,但我不确定如何更深入地获得收视率。 我的数据库是使用Firebase管理的,我正在使用一个名为Pyrebase的python库,它只是javascript api的包装器。 我遇到了麻烦,因为每个氛围都有一个生成的哈希键,所以我不确定如何更深入。 有什么想法吗?
vibes
可能是一本字典。 你想要的是每个哈希键的评级,所以你可以做类似的事情
for hashkey, vibe_dict in dict['vibes'].items(): # dict is a Python keyword, so it's a bad choice for a variable!
print(hashkey, vibe_dict['rating'])
我不确定firebase
,但在普通的python中,你可以这样做:
>>> for vibe in my_json['vibes'].values():
... print vibe['rating']
...
1 # Rating of item 1
5 # Rating of item 2
其中my_json
是你json的dict
构建:
{
"latitude":41.884629,
"longitude":-87.648764,
"name":"Bar Siena",
"placeID":"ChIJf3h_t9osDogReehZO7Hgk50",
"vibes":{
"LGpswrvLgfYppcBG4bpmNzXQVoU2":{
"rating":1,
"timestamp":1.477961061358844E9
},
"OSzA2KhTBWS3pxVnCZ6eScAuNDG3":{
"rating":5,
"timestamp":1.477955566836665E9
}
}
}
如果你的venues
变量是一个类似JSON的对象,你可以使用标准的json
库来处理它:
import json
dict_data = json.loads(venues)
print dict_data['latitude']
顺便说一下,这是一种糟糕的开发方式 - 覆盖内置的Python功能。 在你的例子中,你覆盖了dict(dict是一个默认的Python类型对象)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.