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

在TypeScript中实现JSON数组到对象数组的转换方法

解决JSON数组转标准对象数组的问题

嘿,我来帮你搞定这个转换需求!首先得提一句:你给出的原始“JSON数组”其实不是合法的JSON格式——它错误地给每个数组元素添加了数字索引键(比如0:、1:),这不符合数组的语法规范。不过没关系,我们可以通过两种方式得到你想要的标准对象数组:

1. 手动修正格式(如果是静态数据)

直接去掉每个对象前面的数字索引前缀(0:、1:、2:),把每个对象直接作为数组元素即可,修正后的合法数组就是你期望的格式:

[
  {
    "code": "00125",
    "scheme": "0001",
    "plotNumber": "125",
    "propType": "001",
    "plotType": "001"
  },
  {
    "code": "190",
    "scheme": "0001",
    "plotNumber": "NA 190",
    "propType": "001",
    "plotType": "001"
  },
  {
    "code": "210",
    "scheme": "0001",
    "plotNumber": "NA210",
    "propType": "001",
    "plotType": "001"
  }
]

2. 代码自动转换(如果是在JavaScript环境中处理)

如果你的原始数据是作为一个键为数字的对象存在的(因为原始写法更像一个对象而非数组),可以用Object.values()方法快速提取值并转换为数组:

示例代码:

// 假设这是你拿到的原始数据(注意这是一个对象,不是数组)
const rawData = {
  0: {code: "00125", scheme: "0001", plotNumber: "125", propType: "001", plotType: "001"},
  1: {code: "190", scheme: "0001", plotNumber: "NA 190", propType: "001", plotType: "001"},
  2: {code: "210", scheme: "0001", plotNumber: "NA210", propType: "001", plotType: "001"}
};

// 转换为标准对象数组
const convertedArray = Object.values(rawData);

// 输出结果就是你想要的格式
console.log(convertedArray);

输出结果:

[
  {code: "00125", scheme: "0001", plotNumber: "125", propType: "001", plotType: "001"},
  {code: "190", scheme: "0001", plotNumber: "NA 190", propType: "001", plotType: "001"},
  {code: "210", scheme: "0001", plotNumber: "NA210", propType: "001", plotType: "001"}
]

内容的提问来源于stack exchange,提问作者Salahudin Malik

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:18:41