ITKeyword,专注技术干货聚合推荐

注册 | 登录

Jackson将json字符串转换成泛型List

itPublisher 分享于 2014-04-21

推荐:JSON字符串转换成JSON对象

1、问题背景       有一个json字符串,需要将其转换成json对象;若str是一个json字符串,将str转换成json对象     (1)eval("("+str+")")     (2)JSON.parse(

2019阿里云双12.12最低价产品入口(新老用户均可),
地址https://www.aliyun.com/minisite/goods

Jackson,我感觉是在Java与Json之间相互转换的最快速的框架,当然Google的Gson也很不错,但是参照网上有人的性能测试,看起来还是Jackson比较快一点

Jackson处理一般的JavaBean和Json之间的转换只要使用ObjectMapper 对象的readValue和writeValueAsString两个方法就能实现。但是如果要转换复杂类型Collection如 List<YourBean>,那么就需要先反序列化复杂类型 为泛型的Collection Type。 如果是ArrayList<YourBean>那么使用ObjectMapper 的getTypeFactory().constructParametricType(collectionClass, elementClasses); 如果是HashMap<String,YourBean>那么 ObjectMapper 的getTypeFactory().constructParametricType(HashMap.class,String.class, YourBean.class);

1

public final ObjectMapper mapper = new ObjectMapper();

2

3

public static void main(String[] args) throws Exceptio

推荐:java对象转换成json 字符串的方法

package com.test.util; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.math.BigDecimal; import java.util.ArrayList; impor

n{

4

JavaType javaType = getCollectionType(ArrayList.class, YourBean.class);

5

List<YourBean> lst =

(List<YourBean>)mapper.readValue(jsonString, javaType);

6

}

7

/**

8

* 获取泛型的Collection Type

9

* @param collectionClass 泛型的Collection

10

* @param elementClasses 元素类

11

* @return JavaType Java类型

12

* @since 1.0

13

*/

14

public static JavaType getCollectionType(Class<?> collectionClass, Class<?>... elementClasses) {

15

return mapper.getTypeFactory().constructParametricType(collectionClass, elementClasses);

16

}

推荐:JSON对象转换成JSON字符串

1、问题背景       有一个json对象,需要将其转换成json字符串       JSON.stringify(obj) 2、实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transiti

    Jackson,我感觉是在Java与Json之间相互转换的最快速的框架,当然Google的Gson也很不错,但是参照网上有人的性能测试,看起来还是Jackson比较快一点     Jackson处理一般的JavaBean和Json之

相关阅读排行


用户评论

游客

相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。