0
点赞
收藏
分享

微信扫一扫

jsonutil工具类

林肯公园_97cc 2022-03-25 阅读 75
java
package com.moka.hcm.common.obutils;

import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;

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

@Slf4j
public class JsonUtil {
    public static final ObjectMapper mapper = new ObjectMapper();

    static{
        // 设置时间时区
        mapper.setTimeZone(TimeZone.getDefault());
        // 忽略没有的字段
        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
        mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
    }

    public static String toJsonString(Object obj) {
        if (obj == null) {
            return null;
        }
        if (obj.getClass() == String.class) {
            return (String) obj;
        }
        try {
            return mapper.writeValueAsString(obj);
        } catch (JsonProcessingException e) {
            log.error("json序列化出错:" + obj, e);
            return null;
        }
    }

    public static <T> T toBean(String json, Class<T> tClass) {
        try {
            return mapper.readValue(json, tClass);
        } catch (IOException e) {
            log.error("json解析出错:" + json, e);
            return null;
        }
    }

    public static <E> List<E> toList(String json, Class<E> eClass) {
        try {
            return mapper.readValue(json, mapper.getTypeFactory().constructCollectionType(List.class, eClass));
        } catch (IOException e) {
            log.error("json解析出错:" + json, e);
            return null;
        }
    }

    public static <K, V> Map<K, V> toMap(String json, Class<K> kClass, Class<V> vClass) {
        try {
            return mapper.readValue(json, mapper.getTypeFactory().constructMapType(Map.class, kClass, vClass));
        } catch (IOException e) {
            log.error("json解析出错:" + json, e);
            return null;
        }
    }

    public static boolean isJson(String string) {
        try {
            if(StringUtils.isNotBlank(string)){
                JSONObject data = JSONObject.parseObject(string);
                return data!=null;
            }
            return false;
        } catch (Exception e) {
            return false;
        }
    }

    public static boolean isInteger(JSONObject jsonObject) {
        try {
            if(null != jsonObject){
                Integer data = jsonObject.toJavaObject(Integer.class);
                return data!=null;
            }
            return false;
        } catch (Exception e) {
            return false;
        }
    }

}
举报

相关推荐

0 条评论