import java.io.IOException;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
public final class JacksonUtils {
private static final ObjectMapper om = new ObjectMapper();
static {
om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
om.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
om.setSerializationInclusion(JsonInclude.Include.NON_NULL);
}
private JacksonUtils() {
}
/**
* (non-Javadoc)
* @see com.fasterxml.jackson.databind.ObjectMapper#readTree(java.lang.String)
*/
public static JsonNode readTree(String content) throws JsonProcessingException {
return om.readTree(content);
}
/**
* @see com.fasterxml.jackson.databind.ObjectMapper#readValue(byte[], java.lang.Class<T>)
*/
public static <T> T readValue(byte[] src, Class<T> valueType) {
try {
return om.readValue(src, valueType);
} catch (IOException e) {
throw new RuntimeException(e.getMessage());
}
}
/**
* @see com.fasterxml.jackson.databind.ObjectMapper#readValue(java.lang.String, java.lang.Class<T>)
*/
public static <T> T readValue(String content, Class<T> valueType) {
try {
return om.readValue(content, valueType);
} catch (JsonProcessingException e) {
throw new RuntimeException(e.getMessage());
}
}
/**
* @see com.fasterxml.jackson.databind.ObjectMapper#readValue(java.lang.String, TypeReference<T>)
*/
public static <T> T readValue(String content, TypeReference<T> valueTypeRef) {
try {
return om.readValue(content, valueTypeRef);
} catch (JsonProcessingException e) {
throw new RuntimeException(e.getMessage());
}
}
/**
* @see com.fasterxml.jackson.databind.ObjectMapper#writeValueAsString(java.lang.Object)
*/
public static String writeValueAsString(Object value) {
try {
return om.writeValueAsString(value);
} catch (JsonProcessingException e) {
throw new RuntimeException(e.getMessage());
}
}
}
标签:om,jackson,readValue,databind,Jackson,工具,com,fasterxml
From: https://www.cnblogs.com/javalouvre/p/16873943.html