我想将javascript数组值添加到JSON值对象中。另一个元素也替换了我的元素,如收件人,主题,消息。我让Json喜欢:
以下是我的代码。
var BODY = {
"recipients": {
"values": [
]
},
"subject": title,
"body": message
}
var values = [];
for (var ln = 0; ln < names.length; ln++) {
var item1 = {
"person": {
"_path": "/people/"+names[ln],
},
};
values.push(item1);
}
BODY = JSON.stringify({values: values});
alert(BODY);
答案 0 :(得分:12)
我认为您希望从数组中创建对象并将其与旧对象(BODY.recipients.values)结合使用,如果是,那么您可以使用$.extent
(因为您正在使用{从数组
jQuery
答案 1 :(得分:0)
您可以直接访问BODY.values
:
for (var ln = 0; ln < names.length; ln++) {
var item1 = {
"person": {
"_path": "/people/"+names[ln],
},
};
BODY.values.push(item1);
}
答案 2 :(得分:0)
如果你想坚持你填充values数组的方式, 然后你可以像这样分配这个数组:
BODY.values = values;
循环后。
它应该是这样的:
var BODY = {
"recipients": {
"values": [
]
},
"subject": title,
"body": message
}
var values = [];
for (var ln = 0; ln < names.length; ln++) {
var item1 = {
"person": {
"_path": "/people/"+names[ln],
},
};
values.push(item1);
}
BODY.values = values;
alert(BODY);
一旦将其作为AJAX调用的参数传递,JSON.stringify()将非常有用。 请记住:BODY对象中的values数组与var values = []不同。 您必须将外部值[]分配给BODY.values。这是关于OOP的好事之一。
答案 3 :(得分:0)
var arr = [ 'a', 'b', 'c'];
arr.push('d'); // insert as last item