Javascript 将对象添加到JSON文件之前]
我可能遗漏了一些可笑的东西,但是当我使用Javascript 将对象添加到JSON文件之前],javascript,json,node.js,Javascript,Json,Node.js,我可能遗漏了一些可笑的东西,但是当我使用NodeJs将对象添加到我的json文件时,它会将它(显然?)添加到文件末尾,然后再添加到] var file = './data/questions.json'; fs.appendFile(file, ', ' + JSON.stringify(req.body), function (err) { console.log(err); }); 结果是这样的: [ {'id':1, 'name':'Tom'} ], {'id':2, '
NodeJs
将对象添加到我的json
文件时,它会将它(显然?)添加到文件末尾,然后再添加到]
var file = './data/questions.json';
fs.appendFile(file, ', ' + JSON.stringify(req.body), function (err) {
console.log(err);
});
结果是这样的:
[
{'id':1, 'name':'Tom'}
], {'id':2, 'name':'Jerry'}
var file = './data/questions.json';
var fileData = get_data_from_file
var jData = JSON.parse(file);
jData.push({'id':2, 'name':'Jerry'});
var newFileData = JSON.stringify(jData);
//put the data back into the file
如果文件中已包含数组,则需要:
var file = './data/questions.json';
// get the contents of the file
var fileContents = do_something_to_get_contents;
// convert to js object
fileContents = JSON.parse(fileContents);
// push the array
fileContents = fileContents.push(req.body);
// update the file contents by stringify
fs.replaceFile(file, JSON.stringify(fileContents), function (err) {
console.log(err);
});
我在NodeJS方面不是很好。因此,我假设如下:
do\u something\u获取内容
获取文件内容
replaceFile
将其替换为向文件写入新内容的函数
您需要解析JSON文件以添加到其中。试着这样做:
[
{'id':1, 'name':'Tom'}
], {'id':2, 'name':'Jerry'}
var file = './data/questions.json';
var fileData = get_data_from_file
var jData = JSON.parse(file);
jData.push({'id':2, 'name':'Jerry'});
var newFileData = JSON.stringify(jData);
//put the data back into the file
结果似乎对我有好处。你有完整的代码吗?你最好先解析JSON,修改对象,然后对它进行重新排序。它正是你要求它做的。您需要实际解析js,添加对象,然后再次将其字符串化并保存到文件中。@MarcoAlka根据结果判断req.body
是{id':2,'name':'Jerry'}
@PraveenKumar我正在尝试,我会在一秒钟内更新。如果OP没有任何节点代码,我想你不擅长node.js也没关系。@Blubberguy22谢谢你,伙计<代码>:)
@Greg你刚才复制粘贴了吗?我做了大部分的部分,除了我必须“做点什么”的地方。@Gregfs.replaceFile
也是伪文件!请将其替换为实际函数…呃,不。JSON.parse(file)
将尝试解析/data/questions.JSON
,而不是文件的内容。你需要先读一读。我猜OP也希望得到的JSON编码数据被写入一个文件。@jcaron好的一点,坏的一点,我没有注意到。我会修好的,谢谢。