Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >区分JSON并生成添加/删除/修改什么的Java库?

区分JSON并生成添加/删除/修改什么的Java库?
EN

Software Recommendation用户
提问于 2015-03-09 16:39:27
回答 2查看 46.9K关注 0票数 18

是否有任何Java库可以区分两个JSON字符串并生成一个树结构,您可以遍历这个树结构来了解添加了哪些节点、删除了哪些节点以及修改了哪些节点?

EN

回答 2

Software Recommendation用户

回答已采纳

发布于 2015-06-26 08:07:45

我找到了两个Java库,它们可以区分两个JSON字符串,并知道添加、删除和修改了什么。这两个库都根据RFC 6902 (JSON )生成输出:

因为它可以检测从数组中插入/删除的项,所以zjson修补程序更好。Fge json-补丁无法处理这个问题--如果一个项被插入到数组的中间,它会认为该项及其之后的每一项都被更改了,因为它们都被移动了一个。

zjsonpatch修补程序的示例用法:

代码语言:javascript
代码运行次数:0
复制
ObjectMapper jackson = new ObjectMapper(); 
JsonNode beforeNode = jackson.readTree(beforeString); 
JsonNode afterNode = jackson.readTree(afterString); 
JsonNode patchNode = JsonDiff.asJson(beforeNode, afterNode); 
String diff = patchNode.toString();
票数 18
EN

Software Recommendation用户

发布于 2018-07-26 03:56:11

我做了一些研究,为我自己完成了一个不同的世代图书馆。@pacoverflow指出的错误似乎已经解决了。我没有面对这个问题。我投票支持fge json补丁,原因如下:

  1. 良好的文件支持。
  2. 支持序列化。
  3. 最严格地遵循RFC 6902标准。使用int值比较和浮点值比较(处理1和1.0不同),zjsonpatch补丁的行为可能有所不同。
  4. 使用broken修补程序打开的bug表示有可能出现修补程序损坏。
票数 5
EN
页面原文内容由Software Recommendation提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwarerecs.stackexchange.com/questions/17812

复制
相关文章
Java 数据库添加,修改和删除
都是用executeUpdate方法 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import com.mysql.jdbc.Statement; public class JDbc { public static void main(String[] args) { Connection connection
用户2965768
2019/03/11
1.8K0
Java 数据库添加,修改和删除
Mysql修改、添加、删除字段
AFTER 的作用是将新字段添加到某个已有字段后面。 注意:只能在某个已有字段的后面添加新字段,不能在它的前面添加新字段。
说故事的五公子
2021/02/02
6.8K0
DML 添加、修改、删除数据
DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增、删、改操作。
久绊A
2023/04/10
6270
解析PromQL并修改添加Label
最近做的项目中用到了Prometheus做预警服务,其中Prometheus使用promql语言来查询。项目中用户通过UI或者自己手动输入PromQL时候是缺少一些系统参数的,所以需要在用户输入完成以后同步到Prometheus时候将这部分缺失的信息给添加回去,这里就需要修改用户写的PromQL了。
BUG弄潮儿
2025/02/18
410
解析PromQL并修改添加Label
oracle JOB 查询 添加 修改 删除 运行
-------------查询JOB----------------- select job, what, next_date, next_sec, sysdate, failures, broken,interval   from user_jobs a; -------------添加JOB----------------- variable n number; begin   dbms_job.submit(:n, 'MY_JOP;', sysdate,'sysdate+2/(24*60*
用户1220053
2018/02/09
1.4K0
Oracle创建表、删除表、修改表(添加字段、修改字段、删除字段)语句总结
关于Oracle创建表、删除表、修改表(添加字段、修改字段、删除字段)语句的简短总结。
星哥玩云
2022/08/18
3.7K0
php对‘[{“id“:“1“,“name“:“cyg”},{“id“:“2“,“name“:“liwen“}]json数据进行修改删除操作
作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主 文章目录 前言 代码 删除效果 修改效果 ---- 前言 对json数据进行修改删除操作,数组里面有两个
贵哥的编程之路
2022/10/24
1.1K0
php对‘[{“id“:“1“,“name“:“cyg”},{“id“:“2“,“name“:“liwen“}]json数据进行修改删除操作
GIT 查看 删除 添加远程库
注意,如果用HTTP URL,以后每次push的时候都要输入github的帐号密码,如果用SSH URL,必须在远程库上添加本机的SSH公钥; 将branch与远程库
河岸飞流
2019/08/09
5530
C++ 使用 rapidjson 生成 json 并解析
概述 使用 rapidjson 生成 json 并对其进行解析。 常用函数 AddMember 功能:往对象中添加一个键值对。GenericValue& rapidjson::GenericValue< Encoding, Allocator >::AddMember( GenericValue< Encoding, Allocator > & name, GenericValue< Encoding, Allocator > & value, Allocator & allo
云胡
2019/11/06
4.4K0
linux centos中添加删除修改环境变量,设置java环境变量
前言 安装完软件必要添加环境变量。指令很少,然而长时间不写就会不自信:我写的对吗?于是百度开始,于是发现又是各有千秋。好吧,好记星不如烂笔头。当然,最重要的是,百度出来的都他妈的是如何添加环境变量,只字不提删除和修改。显然,都是像我一样的外门汉做笔记的,用啥写啥。 增加环境变量 百度出来的都是修改/etc/profile文件,添加export var=value。我也没认真去看linux的指令的书,不过发现一个不错的做法。 在/etc/profile.d/下有一堆sh脚本,这些脚本就是系统初始化的环境变量
Ryan-Miao
2018/03/13
5.1K0
解析JSON字符串并添加到数据库中(超简单)
我们在开发中也会遇到要我们把json格式数据解析好,然后保存到数据库中.方式方法有很多,小编觉得使用fastjson,最容易实现.
掉发的小王
2022/07/11
1.5K0
解析JSON字符串并添加到数据库中(超简单)
js 区分json和json字符串
在javascript中,可以通过检查数据类型来区分json对象和jso字符串。通常可以直观看出或者使用typeof运算符来检查数据类型。
lyhcms
2024/11/11
1040
数据库的创建、删除、修改
insert和update规范 无操作:不允许在主表上更新操作,在外表上无操作。 (主表改、删,报错) 层叠:允许在主表上更新操作,同时自动更新外表中被其约束的所有 相 关记录的值 (主表改外表跟着改) 设置空:如果外表的的外键字段允许空,则允许更新操作,同时自动 将表中对其约束的所有相关记录的外键值设置为空 设置默认值:如果外表的的外键字段已定义为默认值,并且该默认值是 主 键表中主键字段中存在的值,则允许更新操作同时自动
ellipse
2019/08/16
1.5K0
数据库的创建、删除、修改
docker修改daemon.json 添加私有仓库重启报错
在修改 /etc/docker/daemon.json 添加 私有仓库地址后,重启出现如下报错 unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directives are specified both as a flag and in the configuration file: insecure
指剑
2022/08/26
1.4K0
java生成json格式数据 和 java遍历json格式数据
java 生成json 格式的数据,在需要加入一个创建json的jar包,这个网上有好多,我使用的是org.json的jar包。
全栈程序员站长
2022/07/19
2.8K0
在windows下如何添加、删除和修改静态路由
添加一条路由记录,所有到192.168.100.0/24网段的数据包,都通过2号(网卡)接口走192.168.1.1的网关,优先级为3。
拓荒者
2019/08/27
2.7K0
Linux基础之查看、添加、修改、删除用户命令方法
我们可以直接修改此文件,用于添加、删除、修改账户,但极不推荐,这样极其危险,如果出现损坏,会导致用户无法登录。
用户9236362
2021/11/30
2.9K0
java的json解析几种方法_java读取json文件并解析
JSON是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于阅读和编写,同时也易于解析和生成,并有效地提升网络传输效率。
全栈程序员站长
2022/11/10
3.4K0
js 动态生成div 并添加class id 原
(adsbygoogle = window.adsbygoogle || []).push({});
tianyawhl
2019/04/04
15K0
ovirt数据库修改删除节点
ovirt遇到一个问题,因为没有在ovirt engine中删除就重装了其中一个节点,导致重新添加该节点时出现了一个报错“Host with the same UUID already exists.”
姚华
2022/06/29
4630

相似问题

生成DDL的Java库

10

面向XPath的Java生成库

10

PHP库解析标记并生成HTML/PDF

20

云存储,其他人可以添加/修改,但不能删除?

20

用于在Java应用程序中生成CRUD页面的库

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文