在JSON数组中推送对象 [英] Pushing objects inside JSON array

查看:117
本文介绍了在JSON数组中推送对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要为我的数据数组推送一个新ID.如果我尝试输入数据,它将创建一个对象,但不会为每个对象添加数组.

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.

数据:

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

需要添加数据:

{"EntityID":"12458412548"}

最终结果:

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

代码:

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);

推荐答案

data是一个包含对象的数组.如果要向每个对象添加属性,则必须遍历数组.

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

您需要向对象devices添加一个不是数组的新属性,因此您不能使用.push()

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);

这篇关于在JSON数组中推送对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆