为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 json 数组中获取第一个元素的数组

如何从 json 数组中获取第一个元素的数组

千巷猫影 2023-03-08 17:29:23
我有一个 config.json 文件,其中包含一组组织:配置.json{    "organisations": [        { "displayName" : "org1", "bucketName" : "org1_bucket" },        { "displayName" : "org2", "bucketName" : "org2_bucket" },        { "displayName" : "org3", "bucketName" : "org3_bucket" }    ]}如何获得所有组织名称的数组?这是我试过的:from python_json_config import ConfigBuilderdef read_config():    builder = ConfigBuilder()    org_array = builder.parse_config('config.json')    # return all firstNames in org_array
查看完整描述

3 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

import json


def read_config():

    display_names = []

    with open('yourfilename.json', 'r', encoding="utf-8") as file:

        orgs = json.load(file)

        display_names = [ o["displayName"] for o in orgs["organizations"] ]

    return display_names

此外,我们无法知道ConfigBuilderor会发生什么builder.parse_config,因为我们无法访问该代码,所以很抱歉没有考虑您的示例


查看完整回答
反对 回复 2023-03-08
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

a = {

    "organisations": [

        { "displayName" : "org1", "bucketName" : "org1_bucket" },

        { "displayName" : "org2", "bucketName" : "org2_bucket" },

        { "displayName" : "org3", "bucketName" : "org3_bucket" }

    ]

}


print([i["displayName"] for i in a["organisations"]])

输出:


['org1', 'org2', 'org3']

使用列表理解,这很容易。为了读取一个json文件。


import json

data = json.load(open("config.json"))


查看完整回答
反对 回复 2023-03-08
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

使用lambdawithmap获取仅包含组织名称的数组


>>> list(map(lambda i:i['displayName'],x['organisations']))

>>> ['org1', 'org2', 'org3']

如果你想json从文件中读取数据,dictionary你可以按如下方式实现。


import json

with open('config.json') as json_file:

    data = json.load(json_file)

    org_array = list(map(lambda i:i['displayName'],data['organisations']))


查看完整回答
反对 回复 2023-03-08
  • 3 回答
  • 0 关注
  • 534 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信