Jackson转换JSON字符串
一、转换为普通对象
直接调用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字符串相关推荐
- Jackson将json字符串转换成泛型List/map
Jackson将json字符串转换成泛型List/map url: http://www.cnblogs.com/quanyongan/archive/2013/04/16/3024993.html ...
- fastjson转换json字符串key的首字母小写变大写的解决办法
问题描述 在开发过程中,由于接口文档的描述,要求json字符串的key首字母为大写,而java 的规范要求在定义bean的时候,成员属性是首字母小写的驼峰格式,java的基本规范一定要遵守,否则会出现 ...
- php将数组转化成json字符串,php数组如何转换json字符串
php数组转换json字符串的方法:首先创建一个php示例文件:然后定义一组数组数据:最后通过"json_encode($color)"方法将数组转换成json字符串即可. PHP ...
- Jackson使用:String 与对象互转、Jackson 从 json 字符串转换出对象
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.从json字符串转换出对象 Pager类: import com.fasterxml.jacks ...
- jackson转换json大写_Jackson-Java bean到JSON字符串:大写变量在JSON中转换为小写
我正在使用ObjectMapper的writeValueAsString方法将Java bean转换为JSON字符串,其中Java bean中的大写变量被更改为JSON字符串中的小写字母.实施了Jac ...
- jackson将JSON字符串转换成复杂的数据类型
private static ObjectMapper objectMapper = new ObjectMapper();/*** 示例1:* List<Map<Integer, Str ...
- android jackson 解析json字符串,android:json解析的两个工具:Gson和Jackson的使用小样例...
1.简单介绍 json是android与server通信过程中经常使用的数据格式,比如.例如以下是一个json格式的字符串: {"address":"Nanjing&qu ...
- android jackson 解析json字符串,一文搞定Jackson解析JSON数据
Json解析-Jackson使用教程 日常求赞,感谢老板. 一.JSON解析 我这里指的解析是:JSON和JavaObject之间的序列化和反序列化. 如果你的项目进行了前后端分离,那你一定使用过JS ...
- Jackson转换JSON
原文:http://www.cnblogs.com/hoojo/archive/2011/04/22/2024628.html#top Jackson框架 Jackson可以轻松的将Java对象转换成 ...
最新文章
- shell if else
- 什么样的程序员生涯指南,能在GitHub上获3.6万星
- Eclipse中新建WEB项目,JSP页面报错。
- kafka channle的应用案例
- matlab中打不开保存好的模糊控制器,【求助大神】模糊控制器仿真,在Simulink运行时出现问题...
- leetcode 525. Contiguous Array | 525. 连续数组(Java)
- 猜数字游戏python程序_python经典小程序:猜数字游戏
- axure菜单移动隐藏_如何使用隐藏的移动网络更快地完成工作
- 写一个方法,用一个for循环打印九九乘法表
- JavaSE基础Day01
- [XCTF-Reverse] 69 XCTF 3rd-RCTF-2017_MyDriver2-397
- 3dmax:3dmax三维VR渲染设置(VR间接照明GI栏、【VR间接(全局)照明】发光贴图、光子贴图、BF算法、灯光贴图、灯光缓存)之详细攻略(切记收藏!)
- android mac地址过滤,android手机怎么更改mac地址绕过mac过滤
- Linux 服务器CPU占用率100%,使用率高解决方案
- 详解电路设计中的RC电路
- cgb2008-京淘day04
- 【JavaScript系列】JS基础语法_从变量到数组一网打尽_有教程有实战
- Flask框架的第一个“Hello Flask”
- WPF开源项目Newbeecoder.UI库新功能演示
- 【踩坑笔记】从零开始部署安装Stable Diffusion 2 WebUI
热门文章
- 尚学堂Java培训:如何寻找好书?
- 深入浅出python系列(三):逻辑判断语句
- iPhone5S等A7设备 任意版本降级iOS10.3.3教程(方法一)
- g6实现左右展开树图(思维导图)
- HP Pavilion Slimline 400-011cx Desktop PC 重装windows server 2008 r2 x64 找不到RealTek 8168网卡
- 防止phpddos发包攻击
- Android SDK HTTP Proxy Server
- python练习题(难度高)
- Auto病毒专杀工具常见问题
- Ubuntu18.04打开优化设置界面