将一个String类型的json数据转成对应实体的List集合(转)

1、使用下面这个方法做转换,可以说是一个工具吧,注意一下,constructParametricType()这个方法其实已经作废了
public static JavaType getCollectionType(Class<?> collectionClass, Class<?>... elementClasses) {
ObjectMapper mapper = new ObjectMapper();
return mapper.getTypeFactory().constructParametricType(collectionClass, elementClasses);
}
2、下面来转一下,这里的PsOrg是一个POJO
String returnObj = jso.get("returnObj").toString();
JavaType javaType = getCollectionType(ArrayList.class, PsOrg.class);
List<PsOrg> psOrgList = (List<PsOrg>) objectMapper.readValue(returnObj, javaType);
3、还有一些其他方法,比如google的Gson,方法里的str就是一个json类型的字符串
Gson gson = new Gson();
List<String> mfgLines = gson.fromJson(str, new TypeToken<List<String>>() {}.getType());
4、还有个更方便的方法,使用阿里的fastjson,只需要一行代码
List<Model> list = JSON.parseArray("你的json字符串", Model.class); (Model是你的实体)
5、附录:我们看一下那个作废的方法以及新的替换方法
源码
@Deprecated
public JavaType constructParametricType(Class<?> parametrized, Class<?>... parameterClasses) {
return constructParametrizedType(parametrized, parametrized, parameterClasses);
}
这是在网上找资料时,摘抄的。目前只用过阿里的fastjson,比较方便,其他方法没用过,如果摘抄有误请谅解。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Jackson使用规范以及代码示例 依赖包 Maven依赖: org.codehaus.jackson jacks...
    山石水寿阅读 10,181评论 0 3
  • 在往常接口测试工作中都会遇到将对象(实体)类转成Json格式的数据构造成body发送给服务端,抽空对比了下几个第三...
    雷神VeryYoung阅读 11,245评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,318评论 19 139
  • 问题 用户需要访问网站中的主导航 解决方案 菜单出现在用户点击鼠标的位置 何时用 该网站不是很复杂,在网站设计时,...
    宋爽阅读 2,515评论 0 1
  • 我是继续呢,还是放弃呢,不过我已经主动三次了,难道像他们说的你回消息只是礼貌,我这样也太那个了吗?!
    阿紫ahaha阅读 1,748评论 0 0