现有两段json第一段
{ "sheets": {
"Sheet1": {
"name": "Sheet1",
"data": {
"dataTable": {
"0": {
"0": {
"value": 1,
"style": {
"autoFormatter": {}
}
}
}
}
}
}
}
}
第二段
{
"sheets":{
"Sheet1":{
"name":"Sheet1",
"activeRow":1,
"data":{
"dataTable":{
"0":{
"0":{
"value":11,
"style":{
"autoFormatter":{
}
}
}
},
"1":{
"0":{
"value":2,
"style":{
"autoFormatter":{
}
}
}
}
}
}
},
"Sheet2":{
"name":"Sheet2",
"activeRow":2,
"data":{
"dataTable":{
"0":{
"0":{
"value":1,
"style":{
"autoFormatter":{
}
}
}
}
}
}
}
}
}
在第一段的基础上把第二段合并进去,生成新的json,发生变化的更行,没有的增加,有什么好办法吗
4 回答

吃鸡游戏
TA贡献1829条经验 获得超7个赞
实现方法如下:
public JSONObject deepMerge(JSONObject source, JSONObject target) { Set<String> set = source.keySet(); for (String key: set) { Object value = source.get(key); if (!target.containsKey(key)) { target.put(key, value); } else { if (value instanceof JSONObject) { JSONObject valueJson = (JSONObject)value; deepMerge(valueJson, target.getJSONObject(key)); } else { target.put(key, value); } } } return target; }
添加回答
举报
0/150
提交
取消