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

如何基于字符串数据创建包含键值对形式JS对象的JS数组

解决方法:生成包含键值对对象的JS数组

没问题,我来帮你调整代码,实现你想要的[{"key1":"test1","key2":"test2"}]格式输出!

问题根源

你之前的代码是把键和值都推进了一个数组(jsString1),所以最终得到的是数组嵌套数组的结构。而我们需要的是创建一个JS对象(用{}定义),把键值对存入对象后,再放进外层数组里。

具体实现代码

这里有两种简洁的写法,都能达到需求:

写法1:先创建对象再存入数组

var jsString = [];
var val1 = "test1";
var val2 = "test2";

// 创建空对象,添加键值对
var dataObj = {};
dataObj.key1 = val1;
dataObj.key2 = val2;

// 将对象推入外层数组
jsString.push(dataObj);

alert(JSON.stringify(jsString)); // 输出:[{"key1":"test1","key2":"test2"}]

写法2:直接在push时定义对象(更简洁)

var jsString = [];
var val1 = "test1";
var val2 = "test2";

// 直接创建对象并推入数组
jsString.push({
  key1: val1,
  key2: val2
});

alert(JSON.stringify(jsString)); // 输出:[{"key1":"test1","key2":"test2"}]

原理说明

在JavaScript中,{}用于定义对象,对象内部采用键名: 值的格式存储数据。当你用JSON.stringify()序列化这个结构时,就会得到你需要的键值对JSON格式,而不是数组的序列化结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 17:07:49