现有两段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,发生变化的更行,没有的增加,有什么好办法吗
首先,你应该把后端骂一顿,怎么返回这么垃圾的JSON结构,多余的嵌套,无用的命名,还有连JSONArray都不会用?
这个要解析只能遍历并合并同名对象或添加不同对象
其实这样还不够,只能合并一层,还得通过递归来实现任意层级的合并,将以上代码段放到
函数中,然后在 child1 == null 成立时,
改为
其实还不够,因为不只有JSONObject,所以
要改为
其它同样。
为了直观,有些地方没判空,建议在写完整体逻辑后加上类似以下这种
PS:纯手打,某些单词可能拼错,勿怪。
如果你受够了垃圾后端,可以看看这个
https://github.com/TommyLemon...