方法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文件删除元素的更多相关文章

  1. Java读取json文件并对json数据进行读取、添加、删除与修改操作

    转载:http://blog.csdn.net/qing_yun/article/details/46865863#t0   1.介绍 开发过程中经常会遇到json数据的处理,而单独对json数据进行 ...

  2. 前端Json 增加,删除,修改元素(包含json数组处理)

    一:基础JSON对象  二:JSON数组数据 以下为增删修改方法: <!DOCTYPE html> <html lang="en"> <head> ...

  3. ios项目里扒出来的json文件

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000 } p.p2 { margin: 0.0px 0. ...

  4. .net core2.0添加json文件并转化成类注入控制器使用 让js调试更简单—console

    .net core2.0添加json文件并转化成类注入控制器使用 上一篇,我们介绍了如何读取自定义的json文件,数据是读取出来了,只是处理的时候太麻烦,需要一遍一遍写,很枯燥.那么有没有很好的办法呢 ...

  5. 编辑修改json文件(PSCustomObject)

    #$uname:用户 #$mails:需要绑定或删除的邮箱,如有多个邮箱,中间以,为分隔符,无需添加引号 #######################脚本开始#################### ...

  6. Qt读写三种文件,QSettings读ini配置文件,QJsonDocument读JSON文件,QDomDocument读xml文件

    第一种INI配置文件 .ini 文件是Initialization File的缩写,即初始化文件. 除了windows现在很多其他操作系统下面的应用软件也有.ini文件,用来配置应用软件以实现不同用户 ...

  7. Json文件解析(下)

    Json文件解析(下) 代码地址:https://github.com/nlohmann/json   从STL容器转换 任何序列容器(std::array,std::vector,std::dequ ...

  8. Json文件解析(上)

    Json文件解析(上) 代码地址:https://github.com/nlohmann/json 自述文件 alt=GitHub赞助商 data-canonical-src="https: ...

  9. Python【8】-分析json文件

    一.本节用到的基础知识 1.逐行读取文件 for line in open('E:\Demo\python\json.txt'): print line 2.解析json字符串 Python中有一些内 ...

随机推荐

  1. python之file 方法

    file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数: 1    file.close() close() 方法用于关闭一个已打开的文件.关闭后的文件不能再进行读写操作, 否 ...

  2. 怎么处理Win7电脑打开软件速度慢的情况?

    很多使用Win7系统的用户都会发现这么一个问题,就是电脑在使用过一段时间后,打开一个应用软件的速度就会变慢,非常耽误时间.下面就和大家分享一个解决Win7系统应用软件打开速度慢的小技巧. Win7系统 ...

  3. 【异常】The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

    1 详细异常信息 The last packet sent successfully to the server was milliseconds ago. The driver has not re ...

  4. IPC之namespace.c源码解读

    // SPDX-License-Identifier: GPL-2.0 /* * linux/ipc/namespace.c * Copyright (C) 2006 Pavel Emelyanov ...

  5. Hadoop_06_Hadoop的HDFS的概念和特性

    1.HDFS的概念和特性 1.1. 首先,它是一个文件系统,用于存储文件,通过统一的命名空间——目录树来定位文件 1.2. 它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色:重 ...

  6. js excel导出功能

    <html> <head> <p style="font-size: 20px;color: red;">使用a标签方式将json导出csv文件 ...

  7. 从输入URL到页面加载全过程

    从简单讲: 1.  DNS域名解析:2.  建立TCP连接:3.  发送HTTP请求:4.  返回响应结果:5.  关闭TCP连接:6.  浏览器解析HTML:7.  浏览器布局渲染: 大家基本上都知 ...

  8. Zabbix Server设置主机监控

  9. hive日期函数-广发实战(三)

    近一月客户新增常规里程数与额度比即上个月 第一天(包含)到上个月最后一天(包含) 字段是batch_date==>格式是 yyyymmdd ),'MM'),'-',''); +--------- ...

  10. 【C#-多线程】实现每隔一段时间执行代码(多线程) 3种定时器

    总结以下三种方法,实现c#每隔一段时间执行代码: 方法一:调用线程执行方法,在方法中实现死循环,每个循环Sleep设定时间: 方法二:使用System.Timers.Timer类: 方法三:使用Sys ...