Node.js 向现有JSON文件添加对象
js代码的目标是能够读取、添加和删除JSON对象。我的JSON代码如下所示:Node.js 向现有JSON文件添加对象,node.js,json,Node.js,Json,js代码的目标是能够读取、添加和删除JSON对象。我的JSON代码如下所示: { "first": [ { "id": 1112313, "price": 11 }, { "id": 11123122413, "price": 112 } ], "second": [ { "id": 4121312, "price":
{
"first": [
{
"id": 1112313,
"price": 11
},
{
"id": 11123122413,
"price": 112
}
],
"second": [
{
"id": 4121312,
"price": 55
}
],
"third": [
{
"id": 87845,
"price": 444
}
]
}
//Reading JSON file
var fs = require('fs');
var object = JSON.parse(fs.readFileSync('./jsonFile.JSON', 'utf8'));
console.log(object.first[0].price);
//Deleting
delete object.first[0].price
//Adding a new object
object.first[] = {"id":11245, "price": 123};
//Writing results to JSON file
fs.writeFileSync('jsonFile.json', object);
//Reading JSON file
var fs = require('fs');
var object = JSON.parse(fs.readFileSync('./jsonFile.JSON', 'utf8'));
console.log(object.first[0].price);
//Deleting
delete object.first[0].price
//Adding a new object
object.first = [{ id: 11245, price: 123 }];
//Writing results to JSON file
fs.writeFileSync('jsonFile.json', JSON.stringify(object));
我找到了阅读部分,但删除和添加新对象部分对我不起作用。我只在JSON文件中写入[Object]。到目前为止,我的代码如下所示:
{
"first": [
{
"id": 1112313,
"price": 11
},
{
"id": 11123122413,
"price": 112
}
],
"second": [
{
"id": 4121312,
"price": 55
}
],
"third": [
{
"id": 87845,
"price": 444
}
]
}
//Reading JSON file
var fs = require('fs');
var object = JSON.parse(fs.readFileSync('./jsonFile.JSON', 'utf8'));
console.log(object.first[0].price);
//Deleting
delete object.first[0].price
//Adding a new object
object.first[] = {"id":11245, "price": 123};
//Writing results to JSON file
fs.writeFileSync('jsonFile.json', object);
//Reading JSON file
var fs = require('fs');
var object = JSON.parse(fs.readFileSync('./jsonFile.JSON', 'utf8'));
console.log(object.first[0].price);
//Deleting
delete object.first[0].price
//Adding a new object
object.first = [{ id: 11245, price: 123 }];
//Writing results to JSON file
fs.writeFileSync('jsonFile.json', JSON.stringify(object));
有什么办法让它工作吗?你可能会想要这样的东西:
{
"first": [
{
"id": 1112313,
"price": 11
},
{
"id": 11123122413,
"price": 112
}
],
"second": [
{
"id": 4121312,
"price": 55
}
],
"third": [
{
"id": 87845,
"price": 444
}
]
}
//Reading JSON file
var fs = require('fs');
var object = JSON.parse(fs.readFileSync('./jsonFile.JSON', 'utf8'));
console.log(object.first[0].price);
//Deleting
delete object.first[0].price
//Adding a new object
object.first[] = {"id":11245, "price": 123};
//Writing results to JSON file
fs.writeFileSync('jsonFile.json', object);
//Reading JSON file
var fs = require('fs');
var object = JSON.parse(fs.readFileSync('./jsonFile.JSON', 'utf8'));
console.log(object.first[0].price);
//Deleting
delete object.first[0].price
//Adding a new object
object.first = [{ id: 11245, price: 123 }];
//Writing results to JSON file
fs.writeFileSync('jsonFile.json', JSON.stringify(object));
JSON.stringify
很重要,因为否则会得到可怕的[object]
还要注意如何将
object.first
设置为此处的新数组。fs.writeFileSync('jsonFile.json',json.stringify(object,null,2))代码>嗯,是的,这是可行的,但有一件事,删除部分似乎抹去了整个第一个对象。有没有办法只擦一个而不擦另一个呢?是的,像这样:删除对象。首先[0][“price”]
-注意这里如何使用方括号符号。当添加对象时,您也可以做相反的操作:object.first[0][“price”]=123
好吧,不管怎样,还是有点相反。哦,我剩下的是{“first”:[null,{“id”:11123122413,“price”:112},{“I…”讨厌的null。摆脱它的简单方法?您肯定在使用删除对象。first[0][“price”
而不仅仅是删除对象。first[0]
?