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

如何将带数字键的JSON对象转换为无外层键的对象数组

JSON类数组对象转数组方案

你要的details本质是提取原result对象所有属性值组成的数组,你示例里写的外层{}属于语法笔误,合法结构应该用数组符号[]包裹,具体实现可以用下面的方案:

最简实现(支持ES2017+环境)

直接用Object.values()方法提取对象所有可枚举属性的值,返回值就是你要的数组结构:

// 提取所有值组成数组
const details = Object.values(result);
// 序列化输出
const res = JSON.stringify(details);

输出结果为:

[
  {"name":"elezabeth","job":"accountant"},
  {"name":"anna","job":"lawyer"}
]

兼容旧环境实现

如果需要兼容不支持Object.values()的旧JS环境,可以用Object.keys()搭配map方法实现:

const details = Object.keys(result).map(key => result[key]);
const res = JSON.stringify(details);

额外:首字母大写处理

如果你需要和示例一样把第一个姓名首字母改为大写,可以在遍历的时候加一层转换逻辑:

const details = Object.values(result).map(item => {
  return {
    ...item,
    name: item.name.charAt(0).toUpperCase() + item.name.slice(1)
  }
})
const res = JSON.stringify(details);

输出的第一个姓名就会变成Elizabeth。

你原来的代码const res = JSON.stringify(results[1]);只提取了索引为1的单个对象,所以无法拿到全部内容,替换成上面的全量提取逻辑即可。

内容的提问来源于stack exchange,提问作者Dilantha Wijesekara

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 21:30:01