如何从字符串类型的JSON响应中提取所有productKey字段的值
从JSON字符串中提取所有productKey的实现方法
核心逻辑非常简单,分为两步:
- 将字符串类型的JSON反序列化为当前编程语言的原生对象/字典结构
- 遍历
data数组,逐个取出每个元素的productKey字段值即可
以下是不同常用场景的代码示例:
Python 实现
import json # 你的JSON字符串存储在response_str变量中 response_str = '{"success":true,"code":200,"message":"Success","data":[{"title":"title1","productKey":"123","thumbnailUrl":"https://example.com/1.jpg","star":0},{"title":"title2","productKey":"234","thumbnailUrl":"https://example.com/2.jpg","star":0}]}' # 解析JSON字符串 json_data = json.loads(response_str) # 提取所有productKey product_keys = [item["productKey"] for item in json_data["data"]] # 输出结果:['123', '234'] print(product_keys)
JavaScript 实现
// 你的JSON字符串存储在responseStr变量中 const responseStr = '{"success":true,"code":200,"message":"Success","data":[{"title":"title1","productKey":"123","thumbnailUrl":"https://example.com/1.jpg","star":0},{"title":"title2","productKey":"234","thumbnailUrl":"https://example.com/2.jpg","star":0}]}' // 解析JSON字符串 const jsonData = JSON.parse(responseStr) // 提取所有productKey const productKeys = jsonData.data.map(item => item.productKey) // 输出结果:['123', '234'] console.log(productKeys)
Shell 实现(依赖jq工具)
# 你的JSON字符串存储在responseStr变量中 echo $responseStr | jq -r '.data[] | .productKey' # 输出结果: # 123 # 234
提示:生产环境使用建议增加字段存在性校验、空值判断逻辑,避免JSON结构变化导致程序报错。
内容的提问来源于stack exchange,提问作者Sadegh
相关产品推荐
相关产品推荐

