将数据推送到JSON对象javascript

时间:2013-09-30 18:41:54

标签: javascript

我想将此对象推送到JSON数组

var obj =  {'x':21,'y':32,'z':43};

由于我的JSON密钥:值是动态的,我无法使用密钥访问,因此我使用了循环方法。

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那样的实际键,如代码中所示

感谢任何帮助。

2 个答案:

答案 0 :(得分:10)

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

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

答案 1 :(得分:3)

您需要使用[]表示法,否则密钥名称将始终为key,而不是密钥的值。

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

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