我的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"
}
]
}
你能帮我解决这个问题吗?
谢谢!
答案 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";
}
希望它可以帮到你!