JSON内容对⽐⼯具
英语感谢信范文⼀款基于Java的JSON内容对⽐⼯具类,结合Jackson⼀起使⽤
Maven依赖:
exerci用法<dependency>二级建造师考试地点
<groupId>com.flipkart.zjsonpatch</groupId>
<artifactId>zjsonpatch</artifactId>
annie are you ok<version>0.4.9</version>
</dependency>
⽣成JSON差异包使⽤⽅式:
JsonNode.asJson(JsonNode source, JsonNode target, EnumSet<DiffFlags> flags);
hooters
source【JsonNode 】:json⽐较的基础对象
switch up
target【JsonNode 】:json⽐较的对⽐对象
flags【DiffFlags】:对⽐结果状态标识,可选值有4个
OMIT_VALUE_ON_REMOVE 忽略删除的字段,默认值配置
OMIT_MOVE_OPERATION 忽略移动操作,例如增加此配置时⽐较数组[a,b,c]与[c,b,a]时,对⽐结果为按照顺序严格模式进⾏⽐较,结果是delete 1,add 3。如果不增加该配置结果是remove a到第3个位置
OMIT_COPY_OPERATION 忽略复制操作,例如增加此配置时⽐较数组[a,b,c]与[a,a,b,c]时,对⽐结果为按照顺序严格模式进⾏⽐较,结果是在第2个位置add a。如果不增加该配置结果是copy a到第2个位置
ADD_ORIGINAL_VALUE_ON_REPLACE ⽐较结果中增加原始值
EMIT_TEST_OPERATIONS ⽐较结果中增加测试信息
使⽤在源JSON数据上应⽤JSON差异包
(1)该⽅法会产⽣⼀个新的JsonNode对象
sdt
JsonNode apply(JsonNode patch, JsonNode source, EnumSet<CompatibilityFlags> flags);
比较级patch【JsonNode 】:json差异包对象高考语文卷
target【JsonNode 】:json源对象
flags【CompatibilityFlags】:应⽤差异包标识
MISSING_VALUES_AS_NULLS 忽略空对象
REMOVE_NONE_EXISTING_ARRAY_ELEMENT 移除不存在的列表项
ALLOW_MISSING_TARGET_OBJECT_ON_REPLACE 允许忽略当前对象中替换的对象ob
(2)该⽅法不会产⽣⼀个新的JsonNode对象,⽽是直接修改原对象
JsonPatch.applyInPlace(JsonNode patch, JsonNode source, EnumSet<CompatibilityFlags> flags);
patch【JsonNode 】:json差异包对象
target【JsonNode 】:json源对象
flags【CompatibilityFlags】:应⽤差异包标识
MISSING_VALUES_AS_NULLS 忽略空对象
REMOVE_NONE_EXISTING_ARRAY_ELEMENT 移除不存在的列表项
ALLOW_MISSING_TARGET_OBJECT_ON_REPLACE 允许忽略当前对象中替换的对象