fastjson踩坑之put


今天遇到了一个比较坑的情况

有一个对象,假设为person,里面的home为一串json

这个时候需要获取到这个json对里面的特定字符串进行替换,例如要替换地址 "addr":"123"为"addr":"234"

第一想法便是:

  person.setHome((String)JSONOobject.parse(person.getHome).put("addr","234"));

这时候你会发现在后面解析这个json的时候解析不出来,会抛出异常,于是自己本地测了一下,发现数据结构本应该是

  "addr":"234"的时候,home的值却是"234",key完全找不到,至于具体是因为什么也没有搞清楚

我的解决办法是:

JSONObject jsonObject = new JSONObject(JSONObject.parseObject(person.getHome()));
for (String key : jsonObject.keySet()){
if (key.equals("addr") && jsonObject.get(key).equals("123")){
jsonObject.put("addr","234");
}
}
person.setHome(jsonObject.toString());
最终解决


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM