将数据添加到JSON数组

时间:2017-07-21 15:58:35

标签: javascript json node.js

我的Node.js代码中有一个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 个答案:

答案 0 :(得分: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 );




答案 1 :(得分: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

答案 2 :(得分: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";
}

希望它可以帮到你!