com.revinate.sendgrid.util.JsonUtils Maven / Gradle / Ivy
package com.revinate.sendgrid.util;
import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.SerializationFeature;
import java.io.IOException;
public final class JsonUtils {
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper()
.setSerializationInclusion(JsonInclude.Include.NON_NULL)
.setVisibility(PropertyAccessor.CREATOR, Visibility.NONE)
.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES)
.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false)
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
private static final ObjectMapper PRETTY_PRINT_OBJECT_MAPPER = new ObjectMapper()
.setSerializationInclusion(JsonInclude.Include.NON_NULL)
.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES)
.configure(SerializationFeature.INDENT_OUTPUT, true)
.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
private JsonUtils() {}
public static T fromJson(String json, Class type) throws IOException {
return OBJECT_MAPPER.readValue(json, type);
}
public static String toJson(Object object) throws IOException {
return OBJECT_MAPPER.writeValueAsString(object);
}
public static String toPrettyPrintJson(Object object) throws IOException {
return PRETTY_PRINT_OBJECT_MAPPER.writeValueAsString(object);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy