项目中需要对比两个json字符串的差异,合成差异的json字符串,传输给restful接口进行数据更新操作
具体使用代码如下:
import javax.json.JsonMergePatch; import javax.json.JsonUtil; import javax.json.JsonValue; public class Test { public static void main(String[] args) { String json1 = "{\"aa\":\"1\"}"; String json2 = "{\"aa\":\"1\",\"bb\":\"2\"}"; JsonValue j1 = JsonUtil.toJson(json1); JsonValue j2 = JsonUtil.toJson(json2); JsonValue diff = JsonMergePatch.diff(j1, j2); String patchJson = diff.toString(); System.out.println(patchJson); } }
输出结果为:
{"bb":"2"}
使用的jar为javax.json-1.1.0.EDR1.jar,下载地址为http://download.oracle.com/otndocs/jcp/json_p-1_1-edr-spec/index.html
该jar Licence可以用于商业软件,需要使用jdk1.8