当前位置: 代码迷 >> 综合 >> 解决各JSON数组的JSONObject中键名不一致问题(用toBean方法将JSONObject转换成实体对象)
  详细解决方案

解决各JSON数组的JSONObject中键名不一致问题(用toBean方法将JSONObject转换成实体对象)

热度:81   发布时间:2023-10-12 22:57:18.0

toBean使然:想简便将JSONArray中的JSONObject直接用toBean方法转换成实体对象

多了字段的只能在实体类上扩展,也就是说建实体类尽量作为字段的全集来建,而意思一致的做转换,首先put,然后remove或者discard,最终还是可以toBean为实体类

注意导包:import net.sf.json.JSONArray; import net.sf.json.JSONObject;

JSONArray jsonArray= new JSONArray();
for (Object obj : jsonArray) {
       JSONObject jsonObject = JSONObject.fromObject(obj);
       if (jsonObject.containsKey("a")){
              jsonObject.put("name",jsonObject.get("a"));
              jsonObject.discard("a");   // 或者用jsonObject.remove("a");
       }
       if (jsonObject.containsKey("b")){
              jsonObject.put("name",jsonObject.get("b"));
              jsonObject.discard("b");   // 或者用jsonObject.remove("b");
       }
       TestDemo testDemo = (TestDemo) JSONObject.toBean(jsonObject, TestDemo.class);
}