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

如何将JSON中的值元素作为第二个元素的键来使用?

如何将JSON数组中的id作为键、text作为值重组结构?

这其实是个很常见的数组转键值对的需求,我给你两种常用编程语言的实现方案,你可以按需选用:

JavaScript 实现

我们可以用数组的reduce方法来简洁地完成转换,它会遍历原数组并逐步构建目标对象:

const originalData = [{"id":19,"text":"A-Z CLI 19/03/2015"},{"id":36,"text":"Wavetel Retail1"},{"id":37,"text":"Wavetel A2Z Platinum"},{"id":38,"text":"Wavetel A2Z Gold"},{"id":40,"text":"mysql test2"},{"id":63,"text":"inbound test"},{"id":137,"text":"testpbxretail"},{"id":144,"text":"INBOUND CLI"},{"id":145,"text":"0800142324"},{"id":164,"text":"Rategenerator-Otto-Test"},{"id":165,"text":"Rategenerator-Otto-Test 2 "},{"id":166,"text":"Rategenerator-Otto-Test 3 "},{"id":171,"text":"VasimRateG..."}];

const transformedData = originalData.reduce((acc, item) => {
  // 将当前元素的id作为键,text作为值存入累加器对象
  acc[item.id] = item.text;
  return acc;
}, {}); // 初始值为空对象

console.log(transformedData);

Python 实现

Python里用字典推导式就能一行完成转换,语法非常直观:

original_data = [{"id":19,"text":"A-Z CLI 19/03/2015"},{"id":36,"text":"Wavetel Retail1"},{"id":37,"text":"Wavetel A2Z Platinum"},{"id":38,"text":"Wavetel A2Z Gold"},{"id":40,"text":"mysql test2"},{"id":63,"text":"inbound test"},{"id":137,"text":"testpbxretail"},{"id":144,"text":"INBOUND CLI"},{"id":145,"text":"0800142324"},{"id":164,"text":"Rategenerator-Otto-Test"},{"id":165,"text":"Rategenerator-Otto-Test 2 "},{"id":166,"text":"Rategenerator-Otto-Test 3 "},{"id":171,"text":"VasimRateG..."}]

# 遍历原数组,将每个元素的id作为键、text作为值生成新字典
transformed_data = {item["id"]: item["text"] for item in original_data}

print(transformed_data)

注意事项

如果你的原数组中存在重复的id,后面出现的元素会覆盖前面的对应值——这是键值对结构的特性,毕竟一个键只能对应一个值,所以如果有重复id的情况,你可能需要提前处理(比如合并值、保留第一个/最后一个等)。

内容的提问来源于stack exchange,提问作者Badal Solanki

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:23:07