java json 合并
现有两段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,发生变化的更行,没有的增加,有什么好办法吗
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
首先,你应该把后端骂一顿,怎么返回这么垃圾的JSON结构,多余的嵌套,无用的命名,还有连JSONArray都不会用?
这个要解析只能遍历并合并同名对象或添加不同对象
其实这样还不够,只能合并一层,还得通过递归来实现任意层级的合并,将以上代码段放到
函数中,然后在 child1 == null 成立时,
改为
其实还不够,因为不只有JSONObject,所以
要改为
其它同样。
为了直观,有些地方没判空,建议在写完整体逻辑后加上类似以下这种
PS:纯手打,某些单词可能拼错,勿怪。
如果你受够了垃圾后端,可以看看这个
https://github.com/TommyLemon...
把两个json转对象,对象再合并,然后再将合并后的对象转json
感谢 @TommyLemon 的回答,最终参考了json合并
@sunnyzhang 的第二个回答。实现方法如下:
没时间写java代码,写了段javascript,可以参考一下。