java中,怎么把两个jsonObject合并成一个?

 我来答
海甜恬qx
推荐于2019-10-27 · TA获得超过2.1万个赞
知道小有建树答主
回答量:180
采纳率:100%
帮助的人:3万
展开全部

方法为,把两个拼装好的JSON串合并成一个新的JSON,两个JSON相同的key值情况下只保存一个,后放入的JSON串对应key的Value值会覆盖先放入的。 

具体操作设置方法为

import net.sf.json.JSONObject;

public class JSONCombine

{

public static void main(String[] args)

{

JSONObject jsonOne = new JSONObject();

JSONObject jsonTwo = new JSONObject();

jsonOne.put("name", "kewen");

jsonOne.put("age", "24");

jsonTwo.put("hobbit", "Dota");

jsonTwo.put("hobbit2", "wow");

JSONObject jsonThree = new JSONObject();

jsonThree.putAll(jsonOne);

jsonThree.putAll(jsonTwo);

System.out.println(jsonThree.toString());

}

}

运行结果: 
{"name":"12345","age":"24","hobbit":"Dota","hobbit2":"wow"}

json转object示例

ObjectMapper objectMapper = new ObjectMapper();  

YourClass class = objectMapper.readValue(YourJson, YourClass.class);  

如果json中有新增的字段并且是YourClass类中不存在的,则会转换错误。

1)需要加上如下语句,这种方法的好处是不用改变要转化的类

ObjectMapper objectMapper = new ObjectMapper();  

objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);  

YourClass class = objectMapper.readValue(YourJson, YourClass.class);  

2)jackson库还提供了注解方法,用在class级别上

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;  

@JsonIgnoreProperties(ignoreUnknown = true)  

public class YourClass {  

...  

}  

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式