将数据推送到JSON对象javascript

将数据推送到JSON对象javascript,javascript,Javascript,我想把这个对象推送到一个JSON数组中 var obj = {'x':21,'y':32,'z':43}; 因为我的JSON key:value是动态的,所以我不能使用key访问,所以我使用了loop方法 var str = {xA : []}; //declared a JSON array for (var key in obj) { alert(' name=' + key + ' value=' + obj[key]); str.xA.push({

我想把这个对象推送到一个JSON数组中

var obj =  {'x':21,'y':32,'z':43};
因为我的JSON key:value是动态的,所以我不能使用key访问,所以我使用了loop方法

var str = {xA : []}; //declared a JSON array

for (var key in obj) {

    alert(' name=' + key + ' value=' + obj[key]);

     str.xA.push({
         key :   obj[key]
     })
}
当我提醒这些值时,我得到的是正确的键和值,但当我将其推送到数组时,我的键总是以“键”的形式出现,而不是像代码中那样的实际键,如x、y、z


非常感谢您的帮助。

文字符号不允许使用键的表达式。您需要先创建对象,然后使用括号表示法:

var tmp = {};
tmp[key] = obj[key];
str.xA.push(tmp);

您需要使用
[]
表示法,否则键名将始终是
,而不是键的值

 str.xA.push({
     key :   obj[key]
 })


这是一个JavaScript对象文本,不是JSON。请不要使用“JSON”这个词,这里根本没有JSON。
   var tmp= {};
   tmp[key] = obj[key]
   str.xA.push(tmp)