如何在Python中从JSON提取值并分类存入列表?示例解析
在Python中从JSON提取值并存入指定列表的方法
我们需要从给定的test.json文件中提取listofKeyWord下的name字段,并根据mandatory字段的布尔值,将name分别存入对应列表:mandatory_list(当mandatory为true时)和optional_list(当mandatory为false时)。
示例JSON文件(test.json)
{ "keyword":[ { "name": "Shakti", "jobRequisition": "156235", "listofKeyWord": { "name": "JavaScript", "mandatory": false } }, { "name": "Pavan", "jobRequisition": "652378", "listofKeyWord": { "name": "Java", "mandatory": true } }, { "name": "Manali", "jobRequisition": "872347", "listofKeyWord": { "name": "Python", "mandatory": false } } ] }
需求说明
初始化两个空列表:
mandatory_list = [] optional_list = []
遍历JSON中的每个keyword对象,检查其listofKeyWord下的mandatory值:
- 若为
true,将对应的name存入mandatory_list - 若为
false,将对应的name存入optional_list
预期最终输出:
optional_list = ['JavaScript','Python'] mandatory_list = ['Java']
Python实现代码
import json # 初始化目标列表 mandatory_list = [] optional_list = [] # 读取并解析JSON文件 with open('test.json', 'r') as file: data = json.load(file) # 遍历数据并分类存储 for item in data['keyword']: keyword_detail = item['listofKeyWord'] if keyword_detail['mandatory']: mandatory_list.append(keyword_detail['name']) else: optional_list.append(keyword_detail['name']) # 输出验证结果 print(f"optional_list = {optional_list}") print(f"mandatory_list = {mandatory_list}")
代码说明
- 导入json模块:利用Python内置模块处理JSON数据的读取与解析。
- 读取JSON文件:通过
with open安全读取文件,json.load()将文件内容转换为Python字典结构。 - 遍历与判断:循环遍历
keyword数组中的每个对象,提取listofKeyWord的信息,根据mandatory的布尔值完成分类存储。 - 结果验证:打印两个列表,确认输出符合预期。
内容的提问来源于stack exchange,提问作者Akash
相关产品推荐
相关产品推荐

