如何使用 python 从包含多个对象的 json 文件中读取单个对象?

How to read a single object from a json file containing multiple objects using python?

我有一个包含多个对象的 JSON 文件

{
  "Elements": [
    {
      "name": "Hydrogen",
      "symbol": "H"
    },
        {
      "name": "Lithium",
      "symbol": "Li"
    },
        {
      "name": "Sodium",
      "symbol": "Na"
    }
  ]
}

我希望能够使用名称搜索它们,但只能搜索一个。到目前为止,我已经能够读取所有元素以及类似

的输出
Hydrogen
Lithium
Sodium

但我只想阅读其中一个对象而不是所有对象。 到目前为止,我的 python 代码是

import json

f = open('elements.json')
data = json.load(f)

for element in data['Elements']:
    print(element['name'])

尝试添加一个 if 参数来检查它是否是您要查找的所需项目,然后只需记录其所有信息。

import json

with open('elements.json') as f:
   data = json.load(f)
choice = input("Choose element: ")

for element in data['Elements']:
   if element['name'] == choice:
       for x, y in element.items():
         print(x.title() + "-> " + y)
   

据我了解,您要求一个解决方案来获取具有提供的元素名称的第一个元素。这是:

def match(data, name):
        for element in data['Elements']:
            if element['name'] == name:
                return element

另一种选择: find first sequence item that matches a criterion

 def match(data, name):
        return next(element for element in data['Elements'] if element['name'] == name)