如何在Python中遍历JSON响应获取header_id与line_id的值
解决方法
首先你的代码里解析响应的方式存在问题:json.dumps(response2.text)是把响应文本转成JSON格式的字符串,而我们需要将JSON字符串解析为Python可直接操作的字典/列表对象,正确做法是使用response2.json()方法。
修正后的完整代码如下:
import requests import json # 假设你已定义OAUTH_ENDPOINT、headers_get、python2json这几个变量 response2 = requests.post(OAUTH_ENDPOINT, headers=headers_get, data=python2json) # 直接将响应解析为Python字典 user_data = response2.json() # 提取PrcCfgDetails列表,若键不存在则返回空列表,避免报错 prc_cfg_list = user_data.get("PrcCfgDetails", []) # 循环遍历所有记录,获取对应字段值 for record in prc_cfg_list: header_id = record.get("header_id") line_id = record.get("line_id") # 可根据需求处理获取到的值,示例为打印输出 print(f"header_id: {header_id}, line_id: {line_id}")
关键说明:
response2.json():requests库内置的快捷方法,自动将JSON格式的响应内容解析为Python字典,比手动调用json.loads(response2.text)更简洁高效。- 使用
get()方法:避免因字段不存在抛出KeyError异常,同时可以指定默认值,让代码更健壮。
内容的提问来源于stack exchange,提问作者Kamlesh Dhairyavan
相关产品推荐
相关产品推荐

