在python中解析json(来自freebase的响应)
这个问题是关于JSON
解析的。我正在查询freebase中的一些数据并得到一个JSON
对象。响应有以下结构
{
"result": [
{
"attribute0": [
"attrbVal0"
],
"attribute1": [],
"attribute2": "attrbVal1",
"attribute3": [
"val1",
"val2"
],
"creator": "abc",
"key": [
"val2",
"val3"
]
}
]
}
请注意,属性的值可以是零,也可以是任意数量的值。如果没有值,则表示为[]或null。 我不知道这组属性。它会随着查询的变化而变化,所以我不能像
^{pr2}$从上面的JSON
我想得到值为[]
或{
print response.keys()
打印结果
for r in response['result']:
print r
这会一次性打印出里面的所有东西。那就是
print len(result) #prints 1
我尝试了以下方法来获取属性列表,但没有成功。在
result = response['result']
elem = json.loads(result);
keys = elem.keys()
因此,我正在寻找从上面的json中获取所有键值对的代码,以及指出我的错误的一些解释。在
您可以循环字典的项,将键和值成对地提供给您;这样您就可以对值进行筛选:
注意,
response['result']
是一个列表,包含(大概)一个或多个dictionary对象。在在Python中,空列表和}。在
None
(与JSONnull
的Python等价物)在布尔上下文中都被视为false,因此对于那些值为空列表或原始JSON响应中的not value
的属性,not value
是{演示:
^{pr2}$所以在示例输入中,只有
attribute1
有一个空值。在相关问题 更多 >
编程相关推荐