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

JavaScript中如何将JSON数据转换为指定格式的数组

问题解决方法

现有代码的逻辑存在无效操作:你定义的JsonData本身就是已经解析完成的JS对象数组,先调用JSON.stringify序列化再调用JSON.parse反序列化的操作没有任何实际作用,得到的BusArray和原始JsonData完全一致,存储的是对象类型数据,直接用alert输出对象时默认就会显示[object Object]。

你需要的是提取对象内的属性值组成数组,再按你需要的格式拼接字符串即可,实现代码如下:

// 原始数据
const JsonData = [{"id":1,"Bus_RegNo":"T 784 DHJ","Name":"Bus1"}];
// 提取第一个对象的所有属性值,生成目标数组
const BusArray = Object.values(JsonData[0]).map(String);
// 按要求拼接输出格式
const outputStr = `{"${BusArray.join('","')}"}`;
// 输出结果:{"1","T 784 DHJ","Bus1"}
alert(outputStr);

补充说明

  • Object.values() 方法会返回给定对象自身所有可枚举属性的值组成的数组,可直接将单个公交对象转换为属性值数组
  • 后面追加的.map(String)是为了将数值类型的id转为字符串,匹配你需要的带引号的输出格式
  • 如果你的JsonData中包含多个公交对象,可通过map批量转换:
const JsonData = [
  {"id":1,"Bus_RegNo":"T 784 DHJ","Name":"Bus1"},
  {"id":2,"Bus_RegNo":"T 123 ABC","Name":"Bus2"}
];
// 批量转换得到二维数组
const BusArrayList = JsonData.map(item => Object.values(item).map(String));
// 输出第一个对象的格式化结果
alert(`{"${BusArrayList[0].join('","')}"}`);

内容的提问来源于stack exchange,提问作者Ecom Constantine

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 12:27:10