All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.minijax.json.Json Maven / Gradle / Ivy

There is a newer version: 0.5.10
Show newest version
package org.minijax.json;

import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.fasterxml.jackson.module.afterburner.AfterburnerModule;
import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule;

public class Json {
    private static ObjectMapper instance;

    Json() {
        throw new UnsupportedOperationException();
    }

    public static ObjectMapper getObjectMapper() {
        if (instance == null) {
            instance = new ObjectMapper();
            instance.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
            instance.setSerializationInclusion(Include.NON_NULL);
            instance.registerModule(new JaxbAnnotationModule());
            instance.registerModule(new JavaTimeModule());
            instance.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
            instance.registerModule(new AfterburnerModule());
        }
        return instance;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy