Jackson 将数组json转List泛型
2024-08-31 07:14:22
闲话不多说,直接上干活,见代码就懂。
package com.zzcloud.job.common; import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.zzcloud.job.common.entity.CheckItemsChild; public class Test { public static void main(String[] args) throws Exception {
String json = "[{\r\n" +
" \"checkItemsId\": \"1\",\r\n" +
" \"checkItemsName\": \"aaaaaa1\",\r\n" +
" \"checkPosition\": \"aaaaaa\"\r\n" +
"}, {\r\n" +
" \"checkItemsId\": \"2\",\r\n" +
" \"checkItemsName\": \"bbbbbbb1\",\r\n" +
" \"checkPosition\": \"bbbbbbb\"\r\n" +
"}, {\r\n" +
" \"checkItemsId\": \"3\",\r\n" +
" \"checkItemsName\": \"ccccccc1\",\r\n" +
" \"checkPosition\": \"ccccccc\"\r\n" +
"}, {\r\n" +
" \"checkItemsId\": \"4\",\r\n" +
" \"checkItemsName\": \"dddddddddd1\",\r\n" +
" \"checkPosition\": \"dddddddddd\"\r\n" +
"}, {\r\n" +
" \"checkItemsId\": \"5\",\r\n" +
" \"checkItemsName\": \"eeeeeeeeee1\",\r\n" +
" \"checkPosition\": \"eeeeeeeeee\"\r\n" +
"}, {\r\n" +
" \"checkItemsId\": \"6\",\r\n" +
" \"checkItemsName\": \"ffffffff1\",\r\n" +
" \"checkPosition\": \"ffffffff\"\r\n" +
"}]\r\n" +
"";
ObjectMapper objMapper = new ObjectMapper();
JavaType javaType = getCollectionType(ArrayList.class, CheckItemsChild.class);
List<CheckItemsChild> list = (List<CheckItemsChild>)objMapper.readValue(json, javaType );
list.stream().forEach(p -> System.out.println(p.getCheckItemsName())); } public static JavaType getCollectionType(Class<?> collectionClass, Class<?>... elementClasses) {
ObjectMapper mapper = new ObjectMapper();
return mapper.getTypeFactory().constructParametricType(collectionClass, elementClasses);
} }
最新文章
- jQuery源码分析系列
- 配置集群Nginx+Memcached+Tomcat集群配置
- 判断一个数是否为2的n次幂
- 邪恶改装2:用单片机实现一次简单的wifi密码欺骗
- 决策树学习笔记(Decision Tree)
- Android库项目中的资源ID冲突
- hibernate学习(初识)
- LookupError: Resource averaged_perceptron_tagger not found. Please use the NLTK Downloader to obtain the resource:
- Mybatis配置问题解决Invalid bound statement (not found)
- Ubuntu postgres 内网 安装 卸载
- 06-java学习-方法的学习
- Netty 源码 Channel(二)核心类
- Anroid 解决小米和魅族不能在mac上调试
- 关于Linux路由表的route命令
- ruby puts, print, p方法比较
- (Nginx和PHP下)URL重写,TP实现URL重写
- sql语句-7-更新数据
- 以普通用户启动的Vim如何保存需要root权限的文件
- BZOJ 1260 [CQOI2007]涂色paint(区间DP)
- Python3爬虫(十一) 爬虫与反爬虫