Example usage for com.fasterxml.jackson.databind JsonSerializer JsonSerializer

List of usage examples for com.fasterxml.jackson.databind JsonSerializer JsonSerializer

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind JsonSerializer JsonSerializer.

Prototype

JsonSerializer

Source Link

Usage

From source file:com.cloudmine.api.persistance.CMJacksonModule.java

public CMJacksonModule() {
    super("CustomModule", new Version(1, 0, 0, null));
    addSerializer(new JsonSerializer<Date>() {

        @Override/*w w w.j av  a2 s  .  co  m*/
        public void serialize(Date value, JsonGenerator jgen, SerializerProvider provider)
                throws IOException, JsonProcessingException {
            jgen.writeStartObject();
            jgen.writeRaw(JsonUtilities.convertDateToUnwrappedJsonClass(value));
            jgen.writeEndObject();
        }

        @Override
        public Class<Date> handledType() {
            return Date.class;
        }
    });

    addDeserializer(Date.class, new JsonDeserializer<Date>() {
        @Override
        public Date deserialize(JsonParser jp, DeserializationContext ctxt)
                throws IOException, JsonProcessingException {
            ObjectMapper mapper = (ObjectMapper) jp.getCodec();
            ObjectNode root = (ObjectNode) mapper.readTree(jp);
            JsonNode classNode = root.get(JsonUtilities.CLASS_KEY);
            boolean isDate = classNode != null && JsonUtilities.DATE_CLASS.equals(classNode.asText());
            if (isDate) {
                JsonNode timeNode = root.get(JsonUtilities.TIME_KEY);
                if (timeNode != null) {
                    Long seconds = timeNode.asLong();
                    Date date = new Date(seconds * 1000);
                    return date;
                }
            }
            return null;
        }
    });
    addSerializer(new JsonSerializer<SimpleCMObject>() {

        @Override
        public void serialize(SimpleCMObject value, JsonGenerator jgen, SerializerProvider provider)
                throws IOException {
            jgen.writeStartObject();
            String json = null;
            try {
                json = value.asUnkeyedObject();
            } catch (ConversionException e) {
                LOG.error("Error while serializing, sending empty json", e);
                json = JsonUtilities.EMPTY_JSON;
            }
            jgen.writeRaw(JsonUtilities.unwrap(json));
            jgen.writeEndObject();
        }

        @Override
        public Class<SimpleCMObject> handledType() {
            return SimpleCMObject.class;
        }
    });

    addSerializer(jsonSerializerForType(CMFile.class));
    addSerializer(jsonSerializerForType(CMSessionToken.class));
    addSerializer(jsonSerializerForType(CMType.class));
    addSerializer(jsonSerializerForType(TransportableString.class));
    addSerializer(jsonSerializerForType(ResponseBase.class));

}

From source file:org.modeshape.web.jcr.rest.JSONAbleModuleService.java

public JSONAbleModuleService() {
    super("JSONAble Module");
    addSerializer(JSONAble.class, new JsonSerializer<JSONAble>() {
        @Override/*from  ww  w  . j  av  a2 s.  c o m*/
        public void serialize(JSONAble jsonAble, JsonGenerator jsonGenerator,
                SerializerProvider serializerProvider) throws IOException {
            jsonAble.toJSON(json).serialize(jsonGenerator, serializerProvider);
        }
    });
    addAbstractTypeMapping(JSONAble.class, RestException.class);
    addAbstractTypeMapping(JSONAble.class, RestNode.class);
    addAbstractTypeMapping(JSONAble.class, RestNodeType.class);
    addAbstractTypeMapping(JSONAble.class, RestProperty.class);
    addAbstractTypeMapping(JSONAble.class, RestProperty.class);
    addAbstractTypeMapping(JSONAble.class, RestPropertyType.class);
    addAbstractTypeMapping(JSONAble.class, RestQueryPlanResult.class);
    addAbstractTypeMapping(JSONAble.class, RestQueryResult.class);
    addAbstractTypeMapping(JSONAble.class, RestRepositories.class);
    addAbstractTypeMapping(JSONAble.class, RestWorkspaces.class);
}

From source file:com.orange.ngsi.ConvertersConfiguration.java

@Bean
public MappingJackson2HttpMessageConverter jsonV1Converter(ObjectMapper objectMapper) {

    // Serialize numbers as strings
    objectMapper.configure(JsonGenerator.Feature.WRITE_NUMBERS_AS_STRINGS, true);

    // Serialize booleans as strings
    SimpleModule booleanAsString = new SimpleModule("BooleanAsString");
    booleanAsString.addSerializer(Boolean.class, new JsonSerializer<Boolean>() {
        @Override/*  w  w w  .j  a  v  a2 s.c o m*/
        public void serialize(Boolean value, JsonGenerator jgen, SerializerProvider provider)
                throws IOException, JsonProcessingException {
            jgen.writeString(value.toString());

        }
    });
    objectMapper.registerModule(booleanAsString);

    objectMapper.addMixIn(ContextElement.class, EntityIdMixIn.class);
    objectMapper.addMixIn(AppendContextElementResponse.class, EntityIdMixIn.class);

    return new MappingJackson2HttpMessageConverter(objectMapper);
}

From source file:com.lcw.one.common.mapper.JsonMapper.java

public JsonMapper(Include include) {
    // ?/*from w w  w .  j  a  v a  2s . co  m*/
    if (include != null) {
        this.setSerializationInclusion(include);
    }
    // ?????????
    this.enableSimple();
    // JSONJava
    this.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
    // ?
    this.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
        @Override
        public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider)
                throws IOException, JsonProcessingException {
            jgen.writeString("");
        }
    });
}

From source file:org.ng200.openolympus.DurationJacksonModule.java

public DurationJacksonModule() {
    addSerializer(new JsonSerializer<Duration>() {
        @Override// w  ww  .  ja v  a  2s.c  o  m
        public void serialize(Duration duration, JsonGenerator gen, SerializerProvider serializerProvider)
                throws IOException, JsonProcessingException {
            gen.writeNumber(duration.toMillis());
        }

        @Override
        public Class<Duration> handledType() {
            return Duration.class;
        }
    });
    addDeserializer(Duration.class, new JsonDeserializer<Duration>() {
        @Override
        public Duration deserialize(JsonParser jp, DeserializationContext ctxt)
                throws IOException, JsonProcessingException {
            long l = jp.getValueAsLong();
            return Duration.ofMillis(l);
        }

        @Override
        public Class<Duration> handledType() {
            return Duration.class;
        }
    });
}

From source file:com.joey.Fujikom.common.mapper.JsonMapper.java

public JsonMapper(Include include) {
    // ?// www  .java 2 s.  c  o m
    if (include != null) {
        this.setSerializationInclusion(include);
    }
    // ?????????
    this.enableSimple();
    // JSONJava
    this.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
    // ?
    this.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
        @Override
        public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider)
                throws IOException, JsonProcessingException {
            jgen.writeString("");
        }
    });
    // HTML?
    this.registerModule(new SimpleModule().addSerializer(String.class, new JsonSerializer<String>() {
        @Override
        public void serialize(String value, JsonGenerator jgen, SerializerProvider provider)
                throws IOException, JsonProcessingException {
            jgen.writeString(StringEscapeUtils.unescapeHtml4(value));
        }
    }));
    // 
    this.setTimeZone(TimeZone.getDefault());//getTimeZone("GMT+8:00")
}

From source file:com.vallourec.zebra.core.mapper.JsonMapper.java

public JsonMapper(Include include) {
    //?/*from w w w .  jav a 2 s .  co m*/
    if (include != null) {
        this.setSerializationInclusion(include);
    }
    // ?????????
    this.enableSimple();
    //JSONJava
    this.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
    // ?
    this.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
        @Override
        public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider)
                throws IOException, JsonProcessingException {
            jgen.writeString("");
        }
    });
}

From source file:com.fun.rrs.common.JsonMapper.java

public JsonMapper(Include include) {
    // ?//w  w w  .jav  a 2  s .  com
    if (include != null) {
        this.setSerializationInclusion(include);
    }
    // ?????????
    this.enableSimple();
    // JSONJava
    this.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
    this.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
    // ?
    this.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
        @Override
        public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider)
                throws IOException, JsonProcessingException {
            jgen.writeString("");
        }
    });
}

From source file:com.cloudmine.api.persistance.CMJacksonModule.java

private static <JSON extends Transportable> JsonSerializer<JSON> jsonSerializerForType(final Class<JSON> type) {
    return new JsonSerializer<JSON>() {
        @Override// ww w  . j ava  2s. c  om
        public void serialize(JSON value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
            jgen.writeStartObject();
            String json;
            try {
                json = value.transportableRepresentation();
            } catch (ConversionException e) {
                LOG.error("Error while serializing, sending empty json", e);
                json = JsonUtilities.EMPTY_JSON;
            }
            jgen.writeRaw(JsonUtilities.unwrap(json));
            jgen.writeEndObject();
        }

        @Override
        public Class<JSON> handledType() {
            return type;
        }
    };
}

From source file:com.google.api.server.spi.config.annotationreader.ApiAnnotationIntrospector.java

@Nullable
private static <TFrom, TTo> JsonSerializer<TFrom> getJsonSerializer(
        @Nullable final Transformer<TFrom, TTo> serializer) {
    if (serializer == null) {
        return null;
    }//w  w  w .ja  va  2 s.c  om
    return new JsonSerializer<TFrom>() {
        @Override
        public void serialize(TFrom value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
            jgen.writeObject(serializer.transformTo(value));
        }
    };
}