从节点中的JSON文件中删除字段

时间:2015-07-19 23:21:29

标签: javascript json node.js file

我想从节点中的JSON文件中删除一个字段。假设我的文件看起来像这样

{
    'name': John Doe,
    'nickname': Johnny
}

如果我说delete('nickname');我希望它看起来像这样。

{
    'name': John Doe
}

我应该怎么做呢?还有办法检查文件中剩余的元素数量吗?如果是这样,如果它是空的,我怎么能删除整个文件?

更新: 这是我正在调试的代码

var data = require(pathToFile);
            var element = data[deleteKey];
            delete element;
            fs.writeFileSync(pathToFile, JSON.stringify(data, null, 4), 'utf8');
            res.end(deleteKey + ' was deleted');
            console.log(JSON.stringify(data, null, 4));

2 个答案:

答案 0 :(得分:3)

要检查JSON文件中剩余的元素数量,可以使用:

Object.keys(jsonArray).length;

但要删除元素:

var json = 
{
'name': John Doe,
'nickname': Johnny
}
var key = "name";
delete json[key];

对于删除文件,您可以使用ajax并调用服务器端文件来完成此操作。

答案 1 :(得分:2)

你可以删除它......

var myObj = { 'name': 'John Doe', 'nickname': 'Johnny'};
delete myObj.nickname;

var myObj = { 'name': 'John Doe', 'nickname': 'Johnny' };
delete myObj["nickname"];

<强>输出

{name: "John Doe"}