2017-07-21 10 views
0

へのデータの追加、私は、次のスキーマを使用した私のNode.jsのコード内のJSON配列を持っている:JSON配列

{ 
    "status": "ok", 
    "data": [ 
     { 
      "id": 1, 
      "active": true, 
      "createdAt": "2017-07-21T15:39:31.000Z", 
      "updatedAt": "2017-07-21T15:47:13.000Z" 
     } 
    ] 
} 

と私はそれが次のようになりますようにデータを追加したい:

{ 
    "status": "ok", 
    "data": [ 
     { 
      "id": 1, 
      "active": true, 
      "createdAt": "2017-07-21T15:39:31.000Z", 
      "updatedAt": "2017-07-21T15:47:13.000Z", 
      "information": "someInformation" 
     } 
    ] 
} 

これをどうやって手助けすることができますか?

ありがとうございます!

答えて

3

このようにします。変数objのデータプロパティとその配列の最初の要素にアクセスし、そのオブジェクトの新しいプロパティを文字列に設定します。

var obj = { 
 
    "status": "ok", 
 
    "data": [ 
 
     { 
 
      "id": 1, 
 
      "active": true, 
 
      "createdAt": "2017-07-21T15:39:31.000Z", 
 
      "updatedAt": "2017-07-21T15:47:13.000Z" 
 
     } 
 
    ] 
 
}; 
 
    
 
obj.data[0].information = "someInformation"; 
 
    
 
console.log(obj);

+0

元の質問は、変更されるJSON(文字列)を求めました。この回答はオブジェクトを変更します。 –

+0

@MartinJoinerよく、必要ならOPはJSON.stringify(obj);でオブジェクトをJSONに戻すことができます – sauntimo

1

JSON文字列があるので、あなたはすでにJSONあなたは、まず、それを解析する必要がありしておりますので。解析の後、いくつかの変数に保存されるべきオブジェクトが得られます。次に、それを汎用オブジェクトとしてアクセスし、必要なプロパティを追加することができます。次にJSON文字列に変換する必要があります。それはあなたに役立ちます。この

var parsed = JSON.parse(data); // Now we are transforming JSON string into the object 
 

 
//Now you may do whatever you want 
 
parsed.newprop = 'some text'; 
 
parsed.hello = 'Hellow world'; 
 

 
data = JSON.stringify(parsed); // Now we are replacing the previous version of JSON string to new version with additional properties

+0

これは具体的にはJSONの変更を要求されているが、受け入れられた回答がJavaScriptオブジェクトを変更する。 –

0
var dataContainer = { 
    "status": "ok", 
    "data": [ 
     { 
     "id": 1, 
     "active": true, 
     "createdAt": "2017-07-21T15:39:31.000Z", 
     "updatedAt": "2017-07-21T15:47:13.000Z" 
     } 
    ] 
}; 


for(var i = 0; i < dataContainer.data.length; i++) { 
    dataContainer['data'][i]['information'] = "some information"; 
} 

希望のようになります!