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;
		}
	}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值