加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何在java中将两个json Strings合并为一个

发布时间:2020-12-15 04:32:48 所属栏目:Java 来源:网络整理
导读:如果我们给了2个类型为json的字符串,我们如何将它们合并到 java中的单个json String中? e.g. String json1 = { "glossary": { "title": "example glossary","GlossDiv": { "title": "S" } } }String json2 = { "glossary": { "title": "person name","age":
如果我们给了2个类型为json的字符串,我们如何将它们合并到 java中的单个json String中?

e.g. 

    String json1 = {
        "glossary": {
            "title": "example glossary","GlossDiv": {
                "title": "S"
            }
        }
    }

String json2 = {
        "glossary": {
            "title": "person name","age":  "25"
        }
    }

应该生产

String mergedJson = {
   "glossary": {
            "title": "example glossary","GlossDiv": {
                "title": "S"
            },"age":  "25"
        }
}

解决方法

下面的代码应该做,有几个假设:

>您正在使用Jackson库的ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper)来序列化/反序列化json
> json1的字段在合并时将始终覆盖json2

ObjectMapper mapper = new ObjectMapper();
Map<String,Object> map1 = mapper.readValue("json1",Map.class);
Map<String,Object> map2 = mapper.readValue("json2",Object> merged = new HashMap<String,Object>(map2);
merged.putAll(map1);
System.out.println(mapper.writeValueAsString(merged));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读