[英]How to push elements in JSON from javascript array
我想將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);
我想你想從數組中創建對象並將它與一個舊對象(BODY.recipients.values)組合在一起,如果是,那么你可以使用$.extent
(因為你使用的是jQuery
/ tagged)方法在從排列
var BODY = {
"recipients": {
"values": []
},
"subject": 'TitleOfSubject',
"body": 'This is the message body.'
}
var values = [],
names = ['sheikh', 'muhammed', 'Answer', 'Uddin', 'Heera']; // for testing
for (var ln = 0; ln < names.length; ln++) {
var item1 = {
"person": { "_path": "/people/"+names[ln] }
};
values.push(item1);
}
// Now merge with BODY
$.extend(BODY.recipients.values, values);
您可以直接訪問BODY.values
:
for (var ln = 0; ln < names.length; ln++) {
var item1 = {
"person": {
"_path": "/people/"+names[ln],
},
};
BODY.values.push(item1);
}
如果你想堅持你填充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的好處之一。
var arr = [ 'a', 'b', 'c'];
arr.push('d'); // insert as last item
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.