Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python从列表中提取Json数据_Python_Json - Fatal编程技术网

使用python从列表中提取Json数据

使用python从列表中提取Json数据,python,json,Python,Json,我在一个列表中有这个示例json数据: data = [ { "Name": "John_Doe", "Age" : 25 } { "Name": "Jane_Roe", "Age" : 26 } ] 我需要一种基于“Name”键从列表中的元素中提取所有键值对的方法。如果我的变量为'John_Doe',则脚本应仅返回与John_Doe相关的值,即仅返回以下值: { "Name": "John_Doe", "Age" : 25 } 只需提取与键“Name”关联的值为“John_Do

我在一个列表中有这个示例json数据:

data = [ 
  { "Name": "John_Doe", "Age" : 25 } 
  { "Name": "Jane_Roe", "Age" : 26 }
]
我需要一种基于“Name”键从列表中的元素中提取所有键值对的方法。如果我的变量为'John_Doe',则脚本应仅返回与John_Doe相关的值,即仅返回以下值:

{ "Name": "John_Doe", "Age" : 25 }

只需提取与键
“Name”
关联的值为
“John_Doe”
的所有字典:

或与:


如果您所需要的只是带有
名称
元素匹配
John_Doe
的dict,那么:

matches = [m for m in data if "Name" in m and m["Name"] == "John_Doe"]
您可以展开此列表以查看其功能:

matches = []
for m in data:
    if "Name" in m and m["Name"] == "John_Doe":
        matches.append[m]
输出:

{'Age': 25, 'Name': 'John_Doe'}
[x表示数据中的x,如果x[“Name”]=“John_Doe”]
matches = []
for m in data:
    if "Name" in m and m["Name"] == "John_Doe":
        matches.append[m]
def get_details(data, name):
    for i in data:
        if i['Name'] == name:
            return i
    return {}

data = [{"Name": "John_Doe", "Age" : 25 },{"Name": "Jane_Roe", "Age" : 26 }]
name = "John_Doe"
get_details(data, name)
{'Age': 25, 'Name': 'John_Doe'}