Python解析JSON结果:如何提取嵌套data对象中的指定字段并打印
解析JSON并提取指定字段的解决方案
没问题,针对你需要提取JSON中嵌套字段并按指定格式输出的需求,我给你准备了几种常用编程语言的实现方式:
Python 实现
Python处理JSON非常方便,用内置的json模块就能轻松搞定:
import json # 给定的JSON数据 json_data = '{"data": {"abuseConfidenceScore": 100, "countryCode": "ZW", "domain": "dandemutande.co.zw", "hostnames": ["ip-net-196-43-114-234.africaonline.co.zw"], "ipAddress": "196.43.114.234", "ipVersion": 4, "isPublic": true, "isWhitelisted": false, "isp": "Africa Online Zimbabwe", "lastReportedAt": "2021-06-19T10:32:46+00:00"}}' # 把JSON字符串解析成Python字典 data_dict = json.loads(json_data) # 提取嵌套在data里的目标字段 abuse_score = data_dict['data']['abuseConfidenceScore'] is_whitelisted = data_dict['data']['isWhitelisted'] # 按要求的格式输出结果 print(f"abusedConfidenceScore {abuse_score} isWhitelisted {is_whitelisted}")
运行这段代码后,就会输出你想要的内容:abusedConfidenceScore 100 isWhitelisted false
JavaScript 实现
不管是在浏览器环境还是Node.js里,都可以用下面的方式处理:
// 给定的JSON字符串(如果已经是JS对象,直接跳过解析步骤) const jsonString = '{"data": {"abuseConfidenceScore": 100, "countryCode": "ZW", "domain": "dandemutande.co.zw", "hostnames": ["ip-net-196-43-114-234.africaonline.co.zw"], "ipAddress": "196.43.114.234", "ipVersion": 4, "isPublic": true, "isWhitelisted": false, "isp": "Africa Online Zimbabwe", "lastReportedAt": "2021-06-19T10:32:46+00:00"}}'; // 将JSON字符串解析为JS对象 const dataObj = JSON.parse(jsonString); // 提取目标字段 const abuseScore = dataObj.data.abuseConfidenceScore; const isWhitelisted = dataObj.data.isWhitelisted; // 按要求格式输出 console.log(`abusedConfidenceScore ${abuseScore} isWhitelisted ${isWhitelisted}`);
执行这段代码后,同样会输出符合要求的结果。
核心思路很简单:先把JSON数据转换成对应语言的可操作对象(Python字典/JS对象),然后通过键名或属性名访问嵌套在data里的目标字段,最后拼接成你需要的字符串格式输出就好啦~
内容的提问来源于stack exchange,提问作者Harper




