JSON转换为实例对象

接到一个json文本之后,需要将文本中转换为实例对象,再将对象进行操作更加的简洁

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

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

/**
 * 文本转换工具
 * @author kongweiteng
 * @version 2017-04-11
 */
@Component
public class JsonUtil {
    protected static Logger logger = LoggerFactory.getLogger(JsonUtil.class);//日志工具

    /**
     * 功能:JSON转换为实例对象工具
     * @param json 文本
     * @param clazz
     * @param <T> 实例类型
     * @return List<T> 实例对象集合
     */
    public static <T> List<T> JsonToObj(String json, Class<T[]> clazz) {
        T[] arrs = null;
        ObjectMapper mapper = new ObjectMapper();
        try {
            arrs = mapper.readValue(json, clazz);
        } catch (JsonParseException e) {
            logger.error("json工具把文本转成java对象时出现JsonParseException异常!");
            e.printStackTrace();
        } catch (JsonMappingException e) {
            logger.error("json工具把文本转成java对象时出现JsonMappingException异常!");
            e.printStackTrace();
        } catch (IOException e) {
            logger.error("json工具把文本转成java对象时出现IOException异常!");
            e.printStackTrace();
        }
        List<T> list = Arrays.asList(arrs);
        return list;
    }
}

 

posted @ 2017-04-18 09:59  kongweiteng  阅读(638)  评论(0编辑  收藏  举报