如何在未知ID的情况下从JSON中提取指定的name字段?
如何无需指定ID提取JSON中的name字段?
你的JSON结构里,accounts是一个以随机ID为键的对象,要跳过指定ID直接获取name,可以通过以下几种方式实现:
方法1:直接取第一个账户的name(适用于仅一个账户的场景)
如果accounts下只有一个账户,直接提取对象的所有值并取第一个即可:
import json jsondata = '''{ "accounts" : { "random id" : { "name" : "random name" } } }''' a = json.loads(jsondata) # 提取accounts下所有值转为列表,取第一个元素的name字段 name = list(a["accounts"].values())[0]["name"] print(name)
方法2:遍历所有账户获取name(适用于多个账户的场景)
如果accounts下可能存在多个随机ID的账户,遍历所有值即可拿到每个账户的name:
import json jsondata = '''{ "accounts" : { "id1" : { "name" : "name1" }, "id2" : { "name" : "name2" } } }''' a = json.loads(jsondata) # 遍历accounts下的所有账户对象 for account in a["accounts"].values(): print(account["name"])
方法3:通过获取随机ID再提取name(可选)
也可以先拿到随机ID的列表,再通过ID获取name,这种方式更直观看到ID:
import json jsondata = '''{ "accounts" : { "random id" : { "name" : "random name" } } }''' a = json.loads(jsondata) # 提取第一个随机ID first_id = list(a["accounts"].keys())[0] name = a["accounts"][first_id]["name"] print(name)
内容的提问来源于stack exchange,提问作者Makatina
相关产品推荐
相关产品推荐

