Python 如何从值获取json文件

Python 如何从值获取json文件,python,json,Python,Json,这是我的json文件 { "people1": [ { "name":"William", "age": "20", "location": "Bali" }, { "name":"Jose", "age": &

这是我的json文件

{
  "people1": [
    {
      "name":"William",
      "age": "20",
      "location": "Bali"
    },
    {
      "name":"Jose",
      "age": "30",
      "location": "Canada"
    }
  ]
}

假设我只想知道威廉的年龄和位置。我该怎么做?现在这是我的代码,但我似乎无法得到它

代码.py

import json

with open("names.json") as json_file:
    data = json.load(json_file)

for item in data["people1"]:
    print(item["name"])


在你的数据中循环寻找William,然后对他的数据做你喜欢的事情

for item in data["people1"]:
    if item["name"] == "William":
        print(item["age"])
        print(item["location"])

在你的数据中循环寻找William,然后对他的数据做你喜欢的事情

for item in data["people1"]:
    if item["name"] == "William":
        print(item["age"])
        print(item["location"])
您可以这样尝试:

import json
j_ = '''{
  "people1": [
    {
      "name":"William",
      "age": "20",
      "location": "Bali"
    },
    {
      "name":"Jose",
      "age": "30",
      "location": "Canada"
    }
  ]
}'''
j = json.loads(j_)
for x in j['people1']:
    if x['name'] == 'William':
        print(x['age'])
        print(x['location'])
您可以这样尝试:

import json
j_ = '''{
  "people1": [
    {
      "name":"William",
      "age": "20",
      "location": "Bali"
    },
    {
      "name":"Jose",
      "age": "30",
      "location": "Canada"
    }
  ]
}'''
j = json.loads(j_)
for x in j['people1']:
    if x['name'] == 'William':
        print(x['age'])
        print(x['location'])

你做一个简单的for循环

对于数据中的i['people1']: 如果我['name']=='William': printi['age']
你做一个简单的for循环

对于数据中的i['people1']: 如果我['name']=='William': printi['age']
谢谢你的回答,但是它不起作用。如果你只想要一个人的数据,为什么你有一个循环?您的循环在整个people1阵列上循环。只需打印数据[people1][0]即可返回William的数据:{'name':'William','age':'20','location':'Bali'}。您是否正在尝试搜索数组以查找任何特定的人?谢谢您的回答,但它不起作用。如果您只需要一个人的数据,为什么会有一个循环?您的循环在整个people1阵列上循环。只需打印数据[people1][0]即可返回William的数据:{'name':'William','age':'20','location':'Bali'}。您是否试图在数组中搜索任何特定的人?