fastjson踩坑之put

Posted qtlq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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());
最终解决

以上是关于fastjson踩坑之put的主要内容,如果未能解决你的问题,请参考以下文章

SpringCloud踩坑之fein

MyBatis踩坑之SQLProvider转义字符被删除问题

FlatList踩坑之onEndReached

golang踩坑之floa64精度丢失

Xcode12 踩坑之 objc_msgSend

Xcode12 踩坑之 objc_msgSend