现有两段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
提交
取消
