簡體   English   中英

如何從javascript數組推送JSON中的元素

[英]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);

DEMO。

您可以直接訪問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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM