You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python将单键多值的JSON转换为JSON数组?

解决方案:将键值为数组的JSON转换为对象数组

下面提供两种常用编程语言的实现方式,直接解决你的转换需求:

Python 实现

先将原始JSON解析为字典,然后通过配对两个数组的对应元素生成目标数组:

import json

# 注意:标准JSON要求使用双引号,需将原始单引号替换为双引号
input_str = '{"number":[1,2,3,3],"addr":["a","b","c","d"]}'
data = json.loads(input_str)

# 配对数组元素,生成目标对象数组
output = [{"number": num, "addr": addr} for num, addr in zip(data["number"], data["addr"])]

# 打印格式化后的结果
print(json.dumps(output, indent=2))

执行后会输出你需要的JSON数组。如果两个数组长度不一致,zip会以较短的数组为准;若需要保留所有元素,可以使用itertools.zip_longest并设置默认值。

JavaScript 实现

利用数组的map方法,通过索引关联两个数组的元素:

// 原始数据(若从JSON字符串解析,需用JSON.parse())
const inputData = { number: [1,2,3,3], addr: ['a','b','c','d'] };

// 生成目标数组
const outputArray = inputData.number.map((num, idx) => ({
    number: num,
    addr: inputData.addr[idx]
}));

// 输出结果
console.log(JSON.stringify(outputArray, null, 2));

这种方式简洁高效,同样要注意两个数组长度需匹配,否则会出现undefined值。

内容的提问来源于stack exchange,提问作者Anmol Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 08:25:46