zoukankan      html  css  js  c++  java
  • jackson工具类(JsonUtil )

    springboot用的就是这个

    import com.fasterxml.jackson.core.JsonParser;
    import com.fasterxml.jackson.core.type.TypeReference;
    import com.fasterxml.jackson.databind.DeserializationFeature;
    import com.fasterxml.jackson.databind.JavaType;
    import com.fasterxml.jackson.databind.ObjectMapper;
    
    import java.io.*;
    import java.util.ArrayList;
    import java.util.List;
    
    public class JsonUtil {
        static ObjectMapper objectMapper = new ObjectMapper();
        static {
            objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);// 允许pojo中有在json串中不存在的字段
            objectMapper.configure(JsonParser.Feature.ALLOW_COMMENTS, true);// 允许有注释
        }
        
        public static <T>T parseObject(InputStream inputStream, Class<T> tClass)  {
            Reader reader = new InputStreamReader(inputStream);
            try {
                return objectMapper.readValue(reader, tClass);
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
    
        public static <T>T parseObject(String json,Class<T> tClass){
            try {
                return objectMapper.readValue(json,tClass);
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
    
        public static String toJsonString(Object object){
            try {
                return objectMapper.writeValueAsString(object);
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
    
        public static <T>List<T> parseList(String json,Class<T> tClass) {
            JavaType javaType = objectMapper.getTypeFactory().constructParametricType(List.class, tClass);
            try {
                List<T> list  = objectMapper.readValue(json, javaType);
                return list;
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
    
    }
  • 相关阅读:
    VS2015预览版中的C#6.0 新功能(一)
    REST总结
    MVC和传统的以模板为中心的web架构比较
    实现两个select list box间item的移动和过滤
    异步编程
    简述System.Windows.Forms.Timer 与System.Timers.Timer用法区别
    C#导出EXCEL,并生成charts表
    CRC16位校验
    c# 后台GET、POST、PUT、DELETE传输发送json数据
    UDP通讯
  • 原文地址:https://www.cnblogs.com/dongma/p/14030978.html
Copyright © 2011-2022 走看看