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