JSONObjec的应用

JSONObject的功能很强大,既能将字符串转换成Map对象,也能转换成简单实体类,还能转复杂的map和实体类。

下面就把转复杂map和实体类的用发和大家分享一下,好了,废话不多说,下面就把我在工作中遇到的转json字符串的代码和大家分享一下。

1.json字符串转复杂Map

   所谓的复杂Map是指嵌套很多层的map

   String jsonStr = "这是一个很复杂的json字符串";//目标字符串

   Map<String,Class> classMap = new HashMap<String,Class>;

   classMap.put("jsonKey",Map.class);//定义该map的目的是将最终转化成mao的键定义为jsonKey

   JSONObject jsonObj = JSONObject.fromObject(jsonStr );

   Map<String,Object> resultMap = (Map<String,Object>)JSONObjec.toBean(jsonObj , Map.class, classMap );

   resultMap就是我们想要的结果了。

2.json字符串转复杂实体类

   复杂实体类是指嵌套很多层的实体对象,比如我定义了一个User实体类,在User实体类里除了定义了一些参数外,又定义了Manager实体类对象

   那么我们希望转json的时候,不仅将User对象自动赋值,还要给Manager对象赋值

   String jsonStr = "这是一个很复杂的json字符串";//目标字符串

   Map<String,Class> classMap = new HashMap<String,Class>;

   classMap.put("manager",Manager.class);//定义Manager对象的目的是将User对象里面的Manager对象也赋值

   JSONObject jsonObj = JSONObject.fromObject(jsonStr );

   Object  result = JSONObjec.toBean(jsonObj , Map.class, classMap );

   result就是我们想要的结果了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值