JS:如何将带变量的数组追加到JSON中?

时间:2013-02-12 19:46:17

标签: javascript jquery json string

鉴于以下数据:

var json = [ 
{ 'myKey': 'A', 'status': 0 },
{ 'myKey': 'B', 'status': 1 },
{ 'myKey': 'C', 'status': 1  },
{ 'myKey': 'D', 'status': 1 }
];

我想附加一个带有变量“Id”的新数组,如:

var Id = "aNewLetterFunction";
json.push({'myKey':'+Id+','status':1}); //this doesn't work

我该怎么办,因为+ Id +本身不被视为变量? JSfiddle.net很感激。

编辑: fiddle available


我尝试过各种各样的事情:

json.push('{"myKey":"'+Id+'","status":1},');

var ar1 = '{"myKey":"';
var Id = Id;
var ar2 = '","status":1},';
json.push(ar1+Id+ar2);

3 个答案:

答案 0 :(得分:3)

json可能不是一个好的变量名,因为你有一个对象数组,根据定义,JSON是一个字符串。

除此之外,您只需构建一个对象文字并推送:

var Id = "aNewLetterFunction";
json.push({
    myKey: Id,
    status: 1 
});

答案 1 :(得分:2)

创建一个对象,不要创建JSON字符串:

json.push({
    myKey:Id,
    status:'1'
});

您不希望将另一个值添加到JSON,而是添加到可以解析为JSON字符串但不是字符串的数组。

Live DEMO

答案 2 :(得分:2)

只需使用

json.push({'myKey':Id, 'status':1});

您不希望带有变量名称的字符串,但使用变量?