Objectmapper工具类

import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.type.CollectionType;
import lombok.extern.slf4j.Slf4j;

import java.util.ArrayList;
import java.util.List;


@Slf4j
public class ObjectMapperUtil {

    private static final ObjectMapper objectMapper = new ObjectMapper();

    static {
        //忽略不存在的字段
        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    }

    public static T fromJson(String json, Class clazz) {
        try {
            return objectMapper.readValue(json, clazz);
        } catch (Exception e) {
            log.error(e.getMessage());
        }
        return null;
    }

    public static String toJson(Object object) {
        try {
            return objectMapper.writeValueAsString(object);
        } catch (Exception e) {
            log.error(e.getMessage());
        }
        return null;
    }

    public static JsonNode toJsonNode(Object object) {
        try {
            return objectMapper.valueToTree(object);
        } catch (Exception e) {
            log.error(e.getMessage());
        }
        return null;
    }

    public static List fromJsonList(String json, Class clazz) {
        try {
            CollectionType collectionType = objectMapper.getTypeFactory().constructCollectionType(ArrayList.class, clazz);
            List list = objectMapper.readValue(json, collectionType);
            return list;
        } catch (Exception e) {
            log.error(e.getMessage());
        }
        return null;

    }
}

你可能感兴趣的:(JAVA基础,java)