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

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);
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值