调用JSON API后如何提取返回数据中指定键值组成独立数组
实现方案
核心思路是遍历原始数组,分别提取每个对象中positive、negative键对应的值,存入两个独立的新数组即可,以下是两种最常用开发环境的实现代码:
JavaScript/TypeScript 实现
前端、Node.js场景下调用接口拿到返回值后,如果收到的是JSON字符串,先通过JSON.parse()转成原生数组对象,再做提取:
// 解析后的原始数据 const sourceData = [ { positive: 2, negative: 4 }, { positive: 9, negative: 18 }, { positive: 6, negative: 12 } ] // 方式1:用map快速提取,代码最简洁 const positiveList = sourceData.map(item => item.positive) const negativeList = sourceData.map(item => item.negative) // 方式2:仅遍历一次数组,数据量较大时性能更优 // const [positiveList, negativeList] = sourceData.reduce( // (res, item) => { // res[0].push(item.positive) // res[1].push(item.negative) // return res // }, // [[], []] // ) // 按要求拼接输出结果 const output = `${JSON.stringify(positiveList)} and ${JSON.stringify(negativeList)}` console.log(output) // 打印结果:[2,9,6] and [4,18,12]
Python 实现
Python服务端处理接口返回数据时,参考如下代码:
import json # 若输入是JSON字符串先做解析,已经是列表类型可跳过该步骤 source_json = ''' [ {"positive": 2, "negative": 4}, {"positive": 9, "negative": 18}, {"positive": 6, "negative": 12} ] ''' source_data = json.loads(source_json) positive_list = [item["positive"] for item in source_data] negative_list = [item["negative"] for item in source_data] output = f"{positive_list} and {negative_list}" print(output) # 打印结果:[2, 9, 6] and [4, 18, 12]
其他编程语言的实现逻辑完全一致,只需要调用对应语言的数组遍历、元素取值方法即可完成需求。
内容的提问来源于stack exchange,提问作者Chairil Fauzi Firmansyah
相关产品推荐
相关产品推荐

