json文件可以删除吗?json删除方法

阳光 2021-03-15 22:00:56 java常见问答 6636

当一个json对象在后台产生了,但是有些数据可能无效或者不合法,所以需要在前台作些例外处理,比如删除。json文件可以删除吗?接下来,我们就来给大家讲解一下这方面的内容。

是可以删除的,具体的见以下几种方法:

方法1:delete

注意,该方法删除之后的元素会变为null,并非真正的删除!

举例:

原json:

{
    "front":
    {
        "image": [
            
            {
                "file": "D:\\app\\data\\temp\\gn_image_0.jpg"
                , "height": 253
                , "width": 190
                , "x": 49
                , "y": 110
},
            
            {
                "file": "D:\\app\\data\\temp\\gn_image_1.jpg"
                , "height": 60
                , "width": 260
                , "x": 375
                , "y": 460
}
            
]
        , "text": [
            
            {
                "b": true
                , "data": "姓名 卢战士"
                , "font": "宋体"
                , "size": 8
                , "x": 260
                , "y": 150
}
            
]
    }
}

我们现在读取该JSON文件然后删除image第一个元素:

var fs = require("fs");
var path = require("path");
var jsonStr = fs.readFileSync(path.join(__dirname, "../1.json"));
var json = JSON.parse(jsonStr);
delete json.front.image[0];
console.log(JSON.stringify(json));

最后打印内容为:

{
    "front":
    {
        "image": [
            
null,
            
            {
                "file": "D:\\app\\data\\temp\\gn_image_1.jpg"
                , "height": 60
                , "width": 260
                , "x": 375
                , "y": 460
}
            
]
        , "text": [
            
            {
                "b": true
                , "data": "姓名 卢战士"
                , "font": "宋体"
                , "size": 8
                , "x": 260
                , "y": 150
}
            
]
    }
}

方法2:使用数组的方式删除,彻底删除

JSON数据是由对象和数组数据结构组成,我们只要学会javascript中对对象和数组的删除方法即可对JSON项进行删除操作

用splice方法

这个方法很强大,可以对数组任意项进行增加,删除,替换操作

第一个参数是准备操作的数组位置,第二个参数是从操作位置开始后面的要操作的数组项数,第三个以后的就是,被替换后的内容(如果第三个参数为空就是删除)

var fs = require("fs");
var path = require("path");
var jsonStr = fs.readFileSync(path.join(__dirname, "../1.json"));
var json = JSON.parse(jsonStr);
json.front.image.splice(0, 1);
console.log(JSON.stringify(json));

最终打印结果:

{
    "front":
    {
        "image": [
            
            {
                "file": "D:\\app\\data\\temp\\gn_image_1.jpg"
                , "height": 60
                , "width": 260
                , "x": 375
                , "y": 460
}
            
]
        , "text": [
            
            {
                "b": true
                , "data": "姓名 卢战士"
                , "font": "宋体"
                , "size": 8
                , "x": 260
                , "y": 150
}
            
]
    }
}

json的删除有很多种,大家可以直接用过delete,也可以使用数组的方式删除,总之就是这两种删除方式大家可以自己选择。最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。

推荐阅读:

java多线程有哪些开发案例?java多线程开发实例

json文件如何打开?json与xml有什么区别?

java序列化漏洞搭建怎么弄?