一、需求背景
我们在项目中时常会需要使用第三方接口,在使用第三方接口时,会返回一个JSON格式字符串,这个时候就需要使用JSON工具类来进行转换。PS:根据不同需要来转换对应的类型。
二、使用示例
在没有使用工具类方法时的代码体现。
我们不难发现,每个字段都需要我们手动去进行赋值,当字段多或者项目使用接口多时,会特别麻烦。
于是我们根据Utils工具包进行优化
RoomEntity entity = null;
entity = JSON.parseObject(groupResponse.getMessage(), AVChatRoomEntity.class);
entity.setRoomName(str.substring(str.indexOf(NimConfig.SPLICING_SYMBOL) + 1));
两者对比,效果非常明显。原理其实就是反射,相当于从页面传值给后端时赋值的操作。
三、转换包说明
源于JAVA JDK 1.5 为Alibaba.fastjson包下
package com.alibaba.fastjson;
常用的使用方法当然是转换成Map 或者是 实体类了
实体类
JSON.parseObject(groupResponse.getMessage(), AVChatRoomEntity.class);
Map<K, V>此处注意加上泛型!!
Map<K, V> map1 = JSON.parseObject(groupInfo.getTinfo(), Map.class);