Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
286 views
in Technique[技术] by (71.8m points)

javascript - Pushing objects inside JSON array

I need to push a new ID for my data array. If I try pushing into data it creates one more object but not adding into the array for each.

Data:

[{"devices":{"dID":"TLSM01"},"uuid":"e863c776-f939-4761-bbce-bf0501b42ef7"},
 {"devices":{"dID":"TLSM01"},"uuid":"5a0cd70d-891d-48d8-b205-e92e828ac445"}]

Data need to be added:

{"EntityID":"12458412548"}

Final Result:

[{"devices":{"dID":"TLSM01","EntityID":"12458412548"},"uuid":"e863c776-f939-4761-bbce-bf0501b42ef7"},
 {"devices":{"dID":"TLSM01","EntityID":"12458412548"},"uuid":"5a0cd70d-891d-48d8-b205-e92e828ac445"}]

Code:

var data = [{
  "devices": {
    "dID": "TLSM01"
  },
  "uuid": "e863c776-f939-4761-bbce-bf0501b42ef7"
}, {
  "devices": {
    "dID": "TLSM01"
  },
  "uuid": "5a0cd70d-891d-48d8-b205-e92e828ac445"
}]
data.push({
  "EntityID": "test"
});
console.log(data);
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

data is an array containing objects. If you want to add a property to each object you have to iterate over the array.

You need to add a new property to the object devices which is not an array thus you cannot use .push()

var data = [{"devices":{"dID":"TLSM01"},"uuid":"e863c776-f939-4761-bbce-bf0501b42ef7"},{"devices":{"dID":"TLSM01"},"uuid":"5a0cd70d-891d-48d8-b205-e92e828ac445"}];

data.forEach(d=>d.devices['EntityID']="test");

console.log(data);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...