使用python 3获取具有特定键值对的json对象

时间:2019-02-02 17:36:53

标签: json python-3.x

我有一个json对象,如下所示

"people":{ 
  {"id":1, "name":"john"}, 
  {"id":2, "name":"sam"} 
}

如何使用python 3过滤掉“ id”:1所在的json对象?有没有办法做到这一点而不循环?理想的条件是

如果某人在id = 1处退出:

然后打印(人)

1 个答案:

答案 0 :(得分:0)

使用python非常简单,请使用内置的json库[解析您的json字符串](j = json.loads('{“ one”:“ 1”,“ two”:“ 2” ,“ three”:“ 3”}')

data = json.loads("'people':{{'id':1, 'name':'john'}, {'id':2, 'name':'sam'} }")

然后,您可以使用list comprehension过滤数据:

filtered_data = {d for d in data['people'] if d['id']==1]

要打印结果,可以使用next(如果没有返回结果,则第二个arg为默认值):

print(next(filtered_data, "No result"))