2012-03-01 13 views
1

例:挿入名前と値のペア

var data = { name : "John",age : 19}

私はJSONオブジェクト内の別のペアを追加します。

{gender : male}

それは

data = { name : "John",age : 19,gender : "male" }

+2

data.gender = "male"; ? –

+2

実際にはここにある「JSONオブジェクト」ではなく、JavaScriptの1つであるです。 JSONはテキスト形式で、キー名は二重引用符で囲む必要があります。 –

+0

@RayToal:全く「ペタニック」ではありません。 –

答えて

3

となるよう必要なのは

data.gender = "male"; 
1

この試してみてくださいです:

var data = { name : "John",age : 19}; 
data.gender = "male"; 
3

はい、次のいずれか(これらは等価である)

data.gender = "male"; 

または

data['gender'] = "male"; 

あなたはjQueryの(または1つを使用している場合他の多くのライブラリの中で)、あなたはそのために便利な "extend"関数を持っているかもしれません。 2つのJavascriptオブジェクトを「マージ」します。 In jQuery:

$.extend(data, { gender: "male" }); 

JSONオブジェクトを複数の値で拡張することができます。

3
var data = { name : "John",age : 19}; 
var update = {gender : "male"}; 


function merge(target, source){ 
    for(var prop in source){ 
     target[prop] = source[prop]; 
    } 
    return target; 
} 

var merged = merge(data, update); 

これはdataupdate内のすべてのプロパティを追加します。戻り値の使用はオプションです。 data自体はオブジェクトのように関数内で更新されます。

それとも、jQueryの

のjQueryを使用して
var merged = $.extend(data, update); 

を使用している場合、我々はあなたが変更し、再帰的に私が持っている機能を呼び出す必要がありjavascriptのと同じ使用して、プレーンを達成するために

var update = {gender : "male", address:{house:"house1", street:"street1", pin:"pin1"}}; 
var merged = $.extend(true, data, update); 

をマージ深いレベルを行うことができます上記に書かれている。

+0

Jaiderはデータを変更しないで追加したい: 'var merged = $ .extend({}、data、update);' –

関連する問題