当一个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工具网。
推荐阅读: