jsonUtil

package com.cinc.permissionservice.utils;


import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;

import java.io.IOException;
import java.util.List;

/**
 * @author
 */
@Slf4j
public class JsonUtil {
	
	public final static ObjectMapper OBJECT_MAPPER = new ObjectMapper();
	/**
	 * json字符串转化为对象
	 * @param json
	 * @return
	 */
	public static <T> T jsonStrToOject(String json,Class<T> clazz){
		
		T obj = null;
		try {
			obj = OBJECT_MAPPER.readValue(json, clazz);
		} catch (IOException e) {

			log.error("json转换错误",e);
			throw new RuntimeException("请求对象转JSON失败,入参为非正常格式JSON对象");
		}
		return obj;
	}
	
	/**
	 * 对象转换为JSON
	 * @param obj
	 * @return
	 */
	public static String objectToJsonStr(Object obj){
		
		String jsonStr = null;
		try {
			jsonStr  = OBJECT_MAPPER.writeValueAsString(obj);
		} catch (IOException e) {
			log.error("json转换错误",e);
			throw new RuntimeException("请求对象转JSON失败,入参为非正常格式JSON对象");
		}
		return jsonStr;
	}
	
	public static <T> List<T> jsonToList(String json,Class<T> clazz){
		try {
			JavaType javaType = OBJECT_MAPPER.getTypeFactory().constructParametricType(List.class, clazz);
			return OBJECT_MAPPER.readValue(json, javaType);
		} catch (Exception e) {
			log.error("json转换错误",e);
			throw new RuntimeException("json转换失败");
		} 
	}
	
	
}

  

posted @ 2019-08-16 09:08  丿少女梦丶  阅读(202)  评论(0编辑  收藏  举报