0

My existing array of json coming from response is:

comments:[{id: "3124fac5-9d3e-4fa9-8a80-10f626fbf141", createdDate: 1469606019000,…},…]
0:{id: "3124fac5-9d3e-4fa9-8a80-10f626fbf141", createdDate: 1469606019000,…}
createdBy:{id: "cf2829b7-0c76-4a08-9562-ccbfa012ef2d", createdDate: 1469605771000, name: "user",…}
createdDate:1469606019000
id:"3124fac5-9d3e-4fa9-8a80-10f626fbf141"
lastModifiedBy:{id: "cf2829b7-0c76-4a08-9562-ccbfa012ef2d", createdDate: 1469605771000, name: "user",…}
lastModifiedDate:1469606019000
message:"twrey"
1:{id: "350fd2bd-f452-495c-9bd5-79aa7c799d02", createdDate: 1469619161000,…}
createdBy:{id: "cf2829b7-0c76-4a08-9562-ccbfa012ef2d", createdDate: 1469605771000, name: "user",…}
createdDate:1469619161000
id:"350fd2bd-f452-495c-9bd5-79aa7c799d02"
lastModifiedBy:{id: "cf2829b7-0c76-4a08-9562-ccbfa012ef2d", createdDate: 1469605771000, name: "user",…}
lastModifiedDate:1469619161000
message:"yuo"

I want to push a files array of json to existing comments array of json, the result of json should look like this:

comments:[{id: "3124fac5-9d3e-4fa9-8a80-10f626fbf141", createdDate: 1469606019000,…},…]
0:{id: "3124fac5-9d3e-4fa9-8a80-10f626fbf141", createdDate: 1469606019000,…}
createdBy:{id: "cf2829b7-0c76-4a08-9562-ccbfa012ef2d", createdDate: 1469605771000, name: "user",…}
createdDate:1469606019000
id:"3124fac5-9d3e-4fa9-8a80-10f626fbf141"
lastModifiedBy:{id: "cf2829b7-0c76-4a08-9562-ccbfa012ef2d", createdDate: 1469605771000, name: "user",…}
lastModifiedDate:1469606019000
message:"twrey"
files:[]
1:{id: "350fd2bd-f452-495c-9bd5-79aa7c799d02", createdDate: 1469619161000,…}
createdBy:{id: "cf2829b7-0c76-4a08-9562-ccbfa012ef2d", createdDate: 1469605771000, name: "user",…}
createdDate:1469619161000
id:"350fd2bd-f452-495c-9bd5-79aa7c799d02"
lastModifiedBy:{id: "cf2829b7-0c76-4a08-9562-ccbfa012ef2d", createdDate: 1469605771000, name: "user",…}
lastModifiedDate:1469619161000
message:"yuo"
files:[]
Sami
  • 8,168
  • 9
  • 66
  • 99
Deepanjan
  • 649
  • 2
  • 8
  • 15
  • Question title should be like `add a property to existing json object` its simply about having beginner know how of json Duplicate of http://stackoverflow.com/questions/736590/add-new-attribute-element-to-json-object-using-javascript. – Sami Jul 27 '16 at 13:25

2 Answers2

0

You need only to add a property to jsonObject just write. Yo just need to know about how to Add new attribute (element) to JSON object using JavaScript

yourCurrentJSONObject.propertyNameToAdd = yourFilesArray;

Example

var yourCurrentJSONObject = {
comments:[{id: "3124fac5-9d3e-4fa9-8a80-10f626fbf141", createdDate: 1469606019000,…},…]
0:{id: "3124fac5-9d3e-4fa9-8a80-10f626fbf141", createdDate: 1469606019000,…}
createdBy:{id: "cf2829b7-0c76-4a08-9562-ccbfa012ef2d", createdDate: 1469605771000, name: "user",…}
createdDate:1469606019000
id:"3124fac5-9d3e-4fa9-8a80-10f626fbf141"
lastModifiedBy:{id: "cf2829b7-0c76-4a08-9562-ccbfa012ef2d", createdDate: 1469605771000, name: "user",…}
lastModifiedDate:1469606019000
message:"twrey"
1:{id: "350fd2bd-f452-495c-9bd5-79aa7c799d02", createdDate: 1469619161000,…}
createdBy:{id: "cf2829b7-0c76-4a08-9562-ccbfa012ef2d", createdDate: 1469605771000, name: "user",…}
createdDate:1469619161000
id:"350fd2bd-f452-495c-9bd5-79aa7c799d02"
lastModifiedBy:{id: "cf2829b7-0c76-4a08-9562-ccbfa012ef2d", createdDate: 1469605771000, name: "user",…}
lastModifiedDate:1469619161000
message:"yuo"
}


var yourFilesArray = [....];
yourCurrentJSONObject['files'] = yourFilesArray;
//    or simply
yourCurrentJSONObject.files = yourFilesArray;    

If you can console the array after above instruction you will see, it includes files array alogwith comments and the message

Community
  • 1
  • 1
Sami
  • 8,168
  • 9
  • 66
  • 99
0

If you have two arrays of objects and you want to merge them I'd go with Array.map() and Object.assign().

Of course the two arrays have to be of the same length

var a = [{id: 1, asd: 2}, {id: 2, asd: 3}];
var b = [{files: 'asd'}, {files: 'dsa'}];

var c = a.map((obj, i) => Object.assign(obj, b[i]));

console.log(c)
rpadovani
  • 7,101
  • 2
  • 31
  • 50