2016-11-11 20 views
-6

私のアプリはいくつかのJSONレコードを返すWebAPIを打っています。私はjQuery AJAXを使ってそれらを取得し、JSONをJavaScript変数に割り当てます。ループして問題なく既存のアイテムに変更を加えることができます。ただし、このオブジェクトに「レコード」を追加するにはどうすればよいですか?私は結果の変数の構造を理解しようとしています。Javascriptオブジェクトに項目を追加する

これは私がテストとして持っているものです。これが最善の方法ですか?

var trustAccounts = {"accounts":[ 
    {"entityId":12345, 
    "type":"IOLTA", 
    "nameOnAccount":"Sam Smith Trust", 
    "accountNumber":"987654", 
    "bankCode":"003", 
    "bankName":"Bank of Stuff", 
    "accountDate":"12/15/2014", 
    "status":"A", 
    "exempt":"N", 
    "accountId":142922, 
    "action":"U"}]}; 

    var newaccount = {}; 
    newaccount.entityId = 23456; 
    newaccount.type = "IOLTA"; 
    newaccount.nameOnAccount = "John Smith Trust"; 
    newaccount.accountNumber = "789456"; 
    newaccount.bankCode = "003"; 
    newaccount.bankName = "Bank of Stuff"; 
    newaccount.accountDate = "12/15/2014"; 
    newaccount.status = "A"; 
    newaccount.exempt = "N"; 
    newaccount.accountId = 142923; 
    newaccount.action = "U"; 

    trustAccounts.accounts.push(newaccount); 

    console.log(trustAccounts); 
+0

私たちは議論の共通基盤を得るために関連コードを投稿してください。ありがとう! – Christos

+0

私はJSONがオブジェクトの配列であると仮定しますか?その場合は、新しいオブジェクトを作成し、 'records.push(newRecord);を使用して追加する必要があります。 –

+2

*「結果の変数の構造を理解しようとしています」*:あなたはJSON、...できますか? – trincot

答えて

0

すでに存在しているかのように追加するだけです。 JSON解析オブジェクトは、通常のJavaScriptオブジェクトです。

let obj = {}; 
obj.newProp = 5; 
console.log(obj.newProp); // 5 

obj['newProp'] = 4; 
console.log(obj.newProp); // 4 

あなたは、ドット表記または角括弧([])と、二つの方法でそれらを設定することができます。ドット表記法では、ドットの後の値はそれが呼び出されたものです。角括弧は文字列または変数を受け入れることができるので、プロパティを使用して特定の名前にプロパティを設定できます。

物をネストする必要がある場合は、各レベルを作成する必要があります。

let obj = {}; 
obj.something = {}; 
obj.something.aValue = 5; 

をそれとも、あなたはまた、あなたがやっていることによって、少ないショットでそれを行うことができます:あなたはobj.something.aValueを設定したい場合たとえば、あなたはこのような何かを行うことができますので、

let obj = { 
    something: { 
     aValue = 5; 
    } 
}; 
1

返される変数の名前をobjectとすれば、object.newItemNameを使用して簡単に新しい要素を作成できます。例:

object.newItemName = 'Hello World' 
関連する問題