鉴于以下数据:
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);
答案 0 :(得分:3)
json
可能不是一个好的变量名,因为你有一个对象数组,根据定义,JSON是一个字符串。
除此之外,您只需构建一个对象文字并推送:
var Id = "aNewLetterFunction";
json.push({
myKey: Id,
status: 1
});
答案 1 :(得分:2)
创建一个对象,不要创建JSON字符串:
json.push({
myKey:Id,
status:'1'
});
您不希望将另一个值添加到JSON,而是添加到可以解析为JSON字符串但不是字符串的数组。
答案 2 :(得分:2)
只需使用
json.push({'myKey':Id, 'status':1});
您不希望带有变量名称的字符串,但使用变量?