JackJson工具Json字符串与List转换

主要使用以下2个API方法

1. public T readValue(String content, TypeReference valueTypeRef)

2. public T readValue(String content, JavaType valueType)

代码示例:

ObjectMapper om = new ObjectMapper();
Map<String, Object> map = new HashMap<>();
map.put("name", "张三");
map.put("age", 20);
List<Book> bookList = new ArrayList<>();
for (int i = 1; i <= 3; i++) {
Book book = new Book();
book.setId(i + "");
book.setName("book" + i);
bookList.add(book);
map.put("bookList", bookList);
}
String s = om.writeValueAsString(map);
Map<String, Object> m = om.readValue(s, Map.class);

#第一种方法:TypeReference 
TypeReference ref = new TypeReference<List<Book>>() {};
List<Book> list1 = om.readValue(om.writeValueAsString(m.get("bookList")), ref);

#第二种方法:CollectionType ,CollectionType是JavaType的子类
CollectionType type = om.getTypeFactory().constructCollectionType(List.class,Book.class);
List<Book> list2 = om.readValue(om.writeValueAsString(m.get("bookList")), type);
posted @   风去影无踪  阅读(625)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2020-08-08 @Transactional事务回滚包含try-catch的区别
点击右上角即可分享
微信分享提示