使用python从另一个数组中的数组中获取json数据的值



我想从另一个数组中的每个数组中的特定json对象中获得一个特定值。json看起来是这样的(为了解决这个问题而简化(:

{
"data": [
{
"previews": [
{
"href": "<URL>"
},
{
"href": "<URL>"
},
{
"href": "<URL>"
},
{
"href": "<URL>"
}
]
},
{
"previews": [
{
"href": "<URL>"
},
{
"href": "<URL>"
},
{
"href": "<URL>"
},
{
"href": "<URL>"
}
]
},
{
"previews": [
{
"href": "<URL>"
},
{
"href": "<URL>"
},
{
"href": "<URL>"
},
{
"href": "<URL>"
}
]
}
]
}

这适用于每个对象:

['data'][0]['previews'][3]['href']
['data'][1]['previews'][3]['href']
['data'][2]['previews'][3]['href']

我想要获得的相当于:

['data'][0:2]['previews'][3]['href']

要从许多对象中获得href作为list,可以使用以下列表理解:

d = {}  # JSON from the question
def get_third_preview_href(obj):
return obj['previews'][3]['href']
result = [get_third_preview_href(obj) for obj in d['data']]

或者更勇敢:

result = [obj['previews'][3]['href'] for obj in d['data']]

最新更新