一、转换为普通对象

直接调用objectMapper的readValue方法即可,查看API就能使用。

二、转换为复杂对象

比如对象的属性中包含List, Map等集合类型、或者其它泛型类型。

@Data
public class RemoteResponseEntity<T> {private String msg;private Integer code;private List<T> data;
}

这种可以使用如下方法进行转换:

RemoteResponseEntity<User> epmsEntity = objectMapper.readValue(responseBody,new TypeReference<RemoteResponseEntity<User>>() {});

三、更强大的泛型转换

使用TypeReference也有问题,就是有时还有RemoteResponseEntity<Org>、RemoteResponseEntity<Depart>等等类型。TypeReference不支持泛型类型参数,这样我们不得不写重复的代码。

这个问题可以通过TypeFactory的constructParametric方法解决,先定义如下方法:

private <T> List<T> getEpmsList(String path, String token, String filter, Class<T> cls) throws JsonProcessingException {...String responseBody = responseEntity.getBody();ObjectMapper objectMapper = new ObjectMapper();JavaType javaType = objectMapper.getTypeFactory().constructParametricType(RemoteResponseEntity.class, cls);RemoteResponseEntity<T> epmsEntity = objectMapper.readValue(responseBody, javaType);List<T> list = epmsEntity.getData();return list;
}

调用代码如下:

List<Post> postList = getEpmsList(postPath, postToken, filter, Post.class);

即通过最后一个参数,获取不同的List,避免了重复写相似的代码。

Jackson转换JSON字符串相关推荐

  1. Jackson将json字符串转换成泛型List/map

    Jackson将json字符串转换成泛型List/map url: http://www.cnblogs.com/quanyongan/archive/2013/04/16/3024993.html ...

  2. fastjson转换json字符串key的首字母小写变大写的解决办法

    问题描述 在开发过程中,由于接口文档的描述,要求json字符串的key首字母为大写,而java 的规范要求在定义bean的时候,成员属性是首字母小写的驼峰格式,java的基本规范一定要遵守,否则会出现 ...

  3. php将数组转化成json字符串,php数组如何转换json字符串

    php数组转换json字符串的方法:首先创建一个php示例文件:然后定义一组数组数据:最后通过"json_encode($color)"方法将数组转换成json字符串即可. PHP ...

  4. Jackson使用:String 与对象互转、Jackson 从 json 字符串转换出对象

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.从json字符串转换出对象 Pager类: import com.fasterxml.jacks ...

  5. jackson转换json大写_Jackson-Java bean到JSON字符串:大写变量在JSON中转换为小写

    我正在使用ObjectMapper的writeValueAsString方法将Java bean转换为JSON字符串,其中Java bean中的大写变量被更改为JSON字符串中的小写字母.实施了Jac ...

  6. jackson将JSON字符串转换成复杂的数据类型

    private static ObjectMapper objectMapper = new ObjectMapper();/*** 示例1:* List<Map<Integer, Str ...

  7. android jackson 解析json字符串,android:json解析的两个工具:Gson和Jackson的使用小样例...

    1.简单介绍 json是android与server通信过程中经常使用的数据格式,比如.例如以下是一个json格式的字符串: {"address":"Nanjing&qu ...

  8. android jackson 解析json字符串,一文搞定Jackson解析JSON数据

    Json解析-Jackson使用教程 日常求赞,感谢老板. 一.JSON解析 我这里指的解析是:JSON和JavaObject之间的序列化和反序列化. 如果你的项目进行了前后端分离,那你一定使用过JS ...

  9. Jackson转换JSON

    原文:http://www.cnblogs.com/hoojo/archive/2011/04/22/2024628.html#top Jackson框架 Jackson可以轻松的将Java对象转换成 ...

最新文章

  1. shell if else
  2. 什么样的程序员生涯指南,能在GitHub上获3.6万星
  3. Eclipse中新建WEB项目,JSP页面报错。
  4. kafka channle的应用案例
  5. matlab中打不开保存好的模糊控制器,【求助大神】模糊控制器仿真,在Simulink运行时出现问题...
  6. leetcode 525. Contiguous Array | 525. 连续数组(Java)
  7. 猜数字游戏python程序_python经典小程序:猜数字游戏
  8. axure菜单移动隐藏_如何使用隐藏的移动网络更快地完成工作
  9. 写一个方法,用一个for循环打印九九乘法表
  10. JavaSE基础Day01
  11. [XCTF-Reverse] 69 XCTF 3rd-RCTF-2017_MyDriver2-397
  12. 3dmax:3dmax三维VR渲染设置(VR间接照明GI栏、【VR间接(全局)照明】发光贴图、光子贴图、BF算法、灯光贴图、灯光缓存)之详细攻略(切记收藏!)
  13. android mac地址过滤,android手机怎么更改mac地址绕过mac过滤
  14. Linux 服务器CPU占用率100%,使用率高解决方案
  15. 详解电路设计中的RC电路
  16. cgb2008-京淘day04
  17. 【JavaScript系列】JS基础语法_从变量到数组一网打尽_有教程有实战
  18. Flask框架的第一个“Hello Flask”
  19. WPF开源项目Newbeecoder.UI库新功能演示
  20. 【踩坑笔记】从零开始部署安装Stable Diffusion 2 WebUI

热门文章

  1. 尚学堂Java培训:如何寻找好书?
  2. 深入浅出python系列(三):逻辑判断语句
  3. iPhone5S等A7设备 任意版本降级iOS10.3.3教程(方法一)
  4. g6实现左右展开树图(思维导图)
  5. HP Pavilion Slimline 400-011cx Desktop PC 重装windows server 2008 r2 x64 找不到RealTek 8168网卡
  6. 防止phpddos发包攻击
  7. Android SDK HTTP Proxy Server
  8. python练习题(难度高)
  9. Auto病毒专杀工具常见问题
  10. Ubuntu18.04打开优化设置界面