首页 > 解决方案 > 停止在 Node Js 的 JSON 文件中添加额外的闭包括号

问题描述

我正在使用以下代码写入 json 文件

var obj = {
    table: []
};
fs.stat('myjsonfile.json', function(err, stat) {

    if (err == null) {
        fs.readFile('myjsonfile.json', 'utf8', function(err, data) {
            if (err) {
                console.log(err);
            } else {
                obj = JSON.parse(data);
                obj.table.push({
                    id: 2,
                    square: 3
                });

                fs.writeFile('myjsonfile.json', JSON.stringify(obj, null, 4), 'utf8', function(er, result) {
                    if (er) console.log(er);
                });
            }
        });
    } else if (err.code === 'ENOENT') {
        obj.table.push({
            id: 1,
            square: 3
        });
        fs.writeFile('myjsonfile.json', JSON.stringify(obj), 'utf8', function(err1, result) {
            if (err1) {
                console.log('err1');
            }
        });
    } else {
        console.log('Some other error: ', err.code);
    }
});

但有时会添加一些额外的封闭括号,如下所示

{
   "table":[{id: 0, square:3},{id: 2, square:3},{id: 3, square:4},{id: 4, square:5}]}}]
}

获取 SyntaxError:JSON 中的意外标记。如何停止添加这些闭包?

标签: javascriptnode.js

解决方案


推荐阅读