【发布时间】:2015-09-12 02:25:37
【问题描述】:
我们有空的 JSON 文件 我想在这个文件中编写新的 JSON 对象,并从中获取 JSON 对象数组(然后通过“推送”将新的 JSON 附加到数组中) 我写入文件传入的 JSON 对象:
fs.writeFileSync(tasks, updatedJsonStr, encoding='utf8');
在哪里
updatedJsonStr = JSON.stringify({"isCompleted":false,"task":"dfgdfg","date":"25.06.2015"});
所以在文件中我们看到了添加的对象。 从文件中获取我们的 JSON 对象后:
tasksJsonObj = JSON.parse(fs.readFileSync("tasks.json", "utf-8"));
将新的 JSON 对象附加为字符串并再次写入:
updatedJsonStr = JSON.stringify(tasksJsonObj) + ',' + JSON.stringify(newJsonTask);
fs.writeFileSync(tasks, updatedJsonStr, encoding='utf8'); 所以我们在文件中看到了 2 个 JSON 对象。 !但是当我尝试使用 2 个 JSON 对象读取文件时 - 从文件中读取 JSON 时出现错误([SyntaxError: Unexpected token ,]):
try{
tasksJsonObj = JSON.parse(fs.readFileSync(tasks, "utf-8"));
console.log('aaaaa' + JSON.stringify(tasksJsonObj));
return true;
}catch (err) {
console.log("its not ok!");
console.log(err);
return false;
}
【问题讨论】:
-
“我遇到了一个错误” - 嘿,我完全赞成在文学中写悬疑小说,但在这里我宁愿你真的告诉我们你遇到了什么错误。此外,为您正在使用的语言/技术添加适当的标签也很好。 猜测,node.js?
-
nodeJS, "SyntaxError: Unexpected token ,"
-
当你给出错误时,你必须指定完整的错误和它发生的行。使用“编辑”链接编辑您的问题以包含它。
-
我猜你正在使用 JavaScript?正确的?不管怎样,你写的东西有点问题。如果你想让多个 JSON 彼此相邻,你应该考虑将它们放入一个数组中:
updatedJsonStr = []; updatedJsonStr.push(JSON.stringify(tasksJsonObj)); updatedJsonStr.push(JSON.stringify(newJsonTask));,然后将它们写入文件! -
@Spacemaster 你可以使用'@'来通知这个人(就像我一样)。并接受我在下面的回答,以帮助每个人以及你自己:)