标签:keyset 特定 踩坑 解析 数据 person 解决 数据结构 没有
今天遇到了一个比较坑的情况
有一个对象,假设为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());
最终解决
标签:keyset 特定 踩坑 解析 数据 person 解决 数据结构 没有
原文地址:https://www.cnblogs.com/qtlq/p/11423830.html