【问题标题】:Access the key of a multilevel JSON file in python在 python 中访问多级 JSON 文件的密钥
【发布时间】:2018-05-30 09:12:04
【问题描述】:

我有一个 json 文件,看起来像:

{
    "ancestors": [
        {
            "subcategory": [
                {
                    "key": "city",
                    "name": "City"
                }
            ],
            "name": "Da Lat"
        },
        {
            "subcategory": [
                {
                    "key": "province",
                    "name": "Province"
                }
            ],
            "name": "Lam Dong Province"
        },
        {
            "subcategory": [
                {
                    "key": "country",
                    "name": "Country"
                }
            ],
            "name": "Vietnam"
        }
    ],
}

问题是我需要访问其键为省的子类别的名称。

这里我要访问“林同省”

我不知道如何上一层并检查条件。

【问题讨论】:

    标签: python json python-3.x dictionary


    【解决方案1】:

    您可以将next 与生成器理解一起使用。

    res = next(i['name'] for i in json_dict['ancestors'] if
               i['subcategory'][0]['key'] == 'province')
    
    # 'Lam Dong Province'
    

    要构造条件@9​​87654323@,只需注意:

    1. 列表由[] 表示,列表的唯一元素可以通过[0] 检索。
    2. 字典用{} 表示,值可以通过[key] 检索。

    【讨论】:

      【解决方案2】:

      迭代它,检查你想要的条件。如果条件为真,返回你想要的值。

      def search_subcategories(json_dict):
          for element in json_dict['ancestors']:
              if element['subcategory'][0]['key'] == 'province':
                   return element['name']
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-31
        • 1970-01-01
        • 2017-10-02
        • 1970-01-01
        • 1970-01-01
        • 2021-08-21
        相关资源
        最近更新 更多