jackjson工具类(json转对象,对象转json)

1 引入maven jar

注:springBoot项目默认使用jackJson,无需引以下jar

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.9.1</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.9.1</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.1</version>
</dependency>

2 自写操作方法

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.util.List;

/**
 * json转换工具类
 * 
 * @Title JackJsonUtil.java
 * @Description json转换工具类
 * @param <T>
 */
public class JackJsonUtil<T> {
	/**
	 * 把Object转json字符串
	 * 
	 * @Title objectToJson
	 * @Description 把Object转json字符串
	 * @param obj
	 * @return
	 * @version
	 */
	public String objectToJson(Object obj) {
		try {
			ObjectMapper mapper = new ObjectMapper();
			return mapper.writeValueAsString(obj);
		} catch (JsonProcessingException e) {
			e.printStackTrace();
			return null;
		}
	}

	/**
	 * json字符串转换为对象
	 * 
	 * @Title jsonToObject
	 * @Description json字符串转换为对象
	 * @param json
	 * @param obj
	 * @return
	 * @version
	 */
	public T jsonToObject(String json, Class<T> obj) {
		try {
			ObjectMapper mapper = new ObjectMapper();
			return mapper.readValue(json, obj);
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

	/**
	 * json字符串转换为list对象
	 * 
	 * @Title jsonToList
	 * @Description json字符串转换为list对象
	 * @param json
	 * @param obj
	 * @return
	 * @version
	 */
	public List<T> jsonToList(String json, Class<T> obj) {
		try {
			ObjectMapper om = new ObjectMapper();
			JavaType javaType = om.getTypeFactory().constructParametricType(List.class, obj);
			return om.readValue(json, javaType);
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

}

猜你喜欢

转载自blog.csdn.net/xingxingmingyue/article/details/111474052