private static ObjectMapper createCombinedObjectMapper() { final Pair combinedIntrospector = createJaxbJacksonAnnotationIntrospector(); final ObjectMapper result = new ObjectMapper(); result.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true); result.configure(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE, true); result.setDeserializationConfig(result.getDeserializationConfig().withAnnotationIntrospector(combinedIntrospector)); result.setSerializationConfig(result.getSerializationConfig().withAnnotationIntrospector(combinedIntrospector)); return result; }
AnnotationIntrospector ai = getAnnotationIntrospector(); AnnotatedClass ac = AnnotatedClass.construct(cls, ai, null); _base = _base.withVisibilityChecker(ai.findAutoDetectVisibility(ac, getDefaultVisibilityChecker())); setSerializationInclusion(incl); set(Feature.USE_STATIC_TYPING, (typing == JsonSerialize.Typing.STATIC));
public void setMixInAnnotations(Class<?> target, Class<?> mixinSource) { mapper._deserializationConfig.addMixInAnnotations(target, mixinSource); mapper._serializationConfig.addMixInAnnotations(target, mixinSource); } });
public PropertyBuilder(SerializationConfig config, BasicBeanDescription beanDesc) { _config = config; _beanDesc = beanDesc; _outputProps = beanDesc.findSerializationInclusion(config.getSerializationInclusion()); _annotationIntrospector = _config.getAnnotationIntrospector(); }
/** * Method that will define global setting of which * bean/map properties are to be included in serialization. * Can be overridden by class annotations (overriding * settings to use for instances of that class) and * method/field annotations (overriding settings for the value * bean for that getter method or field) * * @deprecated since 1.9 should either use {@link #withSerializationInclusion} * to construct new instance, or configure through {@link ObjectMapper} */ @Deprecated public void setSerializationInclusion(JsonSerialize.Inclusion props) { _serializationInclusion = props; // And for some level of backwards compatibility, also... if (props == JsonSerialize.Inclusion.NON_NULL) { disable(Feature.WRITE_NULL_PROPERTIES); } else { enable(Feature.WRITE_NULL_PROPERTIES); } }
protected final void _configAndWriteValue(JsonGenerator jgen, Object value, Class<?> viewClass) throws IOException, JsonGenerationException, JsonMappingException { SerializationConfig cfg = copySerializationConfig().withView(viewClass); if (cfg.isEnabled(SerializationConfig.Feature.INDENT_OUTPUT)) { jgen.useDefaultPrettyPrinter(); } // [JACKSON-282]: consider Closeable if (cfg.isEnabled(SerializationConfig.Feature.CLOSE_CLOSEABLE) && (value instanceof Closeable)) { _configAndWriteCloseable(jgen, value, cfg); return; } boolean closed = false; try { _serializerProvider.serializeValue(cfg, jgen, value, _serializerFactory); closed = true; jgen.close(); } finally { if (!closed) { try { jgen.close(); } catch (IOException ioe) { } } } }
private String serialize(Object obj) throws IOException { ObjectMapper mapper = new ObjectMapper() .enableDefaultTyping(ObjectMapper.DefaultTyping.OBJECT_AND_NON_CONCRETE); mapper.getSerializationConfig().addMixInAnnotations(ExtMap.class, JsonExtMapMixIn.class); return mapper.writeValueAsString(obj); }
private String toJacksonJson(ConnectorResponseModel connectorResponse) throws IOException { final ObjectMapper objectMapper = new ObjectMapper(); objectMapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL); objectMapper.setVisibilityChecker( objectMapper.getSerializationConfig().getDefaultVisibilityChecker(). withFieldVisibility(JsonAutoDetect.Visibility.NON_PRIVATE)); return objectMapper.writeValueAsString(connectorResponse); }
public void printJson(final SessionState.LogHelper console) { try { waitForReturnSessionEvent(); ObjectMapper objectMapper = new ObjectMapper(); objectMapper.configure(SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS, false); // serialize json based on field annotations only objectMapper.setVisibilityChecker(objectMapper.getSerializationConfig().getDefaultVisibilityChecker() .withSetterVisibility(JsonAutoDetect.Visibility.NONE)); String wmContextJson = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(this); console.printInfo(""); console.printInfo(WM_EVENTS_TITLE); console.printInfo(SEPARATOR); console.printInfo(wmContextJson); console.printInfo(SEPARATOR); console.printInfo(""); } catch (Exception e) { LOG.warn("Unable to serialize WMContext to json.", e); } }
private static ObjectMapper createObjectMapper() { ObjectMapper mapper = new ObjectMapper(); AnnotationIntrospector primaryIntrospector = new JacksonAnnotationIntrospector(); AnnotationIntrospector secondaryIntrospector = new JaxbAnnotationIntrospector(); AnnotationIntrospector introspector = new AnnotationIntrospector.Pair(primaryIntrospector, secondaryIntrospector); mapper.getDeserializationConfig().withAnnotationIntrospector(introspector); mapper.getSerializationConfig().withAnnotationIntrospector(introspector); return mapper; }
/** * Utility function good for testing things. Prints out the json tree of the * JmxProcess. */ public static void printJson(JmxProcess process) throws Exception { ObjectMapper mapper = new ObjectMapper(); mapper.getSerializationConfig().set(Feature.WRITE_NULL_MAP_VALUES, false); System.out.println(mapper.writeValueAsString(process)); }
private JsonFactory createJsonFactory() { JsonFactory jsonFactory = new JsonFactory(); ObjectMapper mapper = new ObjectMapper(jsonFactory); mapper.getSerializationConfig().setAnnotationIntrospector(new JacksonAnnotationIntrospector()); mapper.getSerializationConfig().setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL); jsonFactory.setCodec(mapper); return jsonFactory; }
private JsonFactory createJsonFactory() { final ObjectMapper objectMapper = new ObjectMapper(); objectMapper.getSerializationConfig().disable( SerializationConfig.Feature.FLUSH_AFTER_WRITE_VALUE ); JsonFactory factory = new JsonFactory( objectMapper ) { @Override protected JsonGenerator _createUTF8JsonGenerator( OutputStream out, IOContext ctxt ) { final int bufferSize = 1024 * 8; Utf8Generator gen = new Utf8Generator( ctxt, _generatorFeatures, _objectCodec, out, new byte[bufferSize], 0, true ); if ( _characterEscapes != null ) { gen.setCharacterEscapes( _characterEscapes ); } return gen; } }; factory.disable( JsonGenerator.Feature.FLUSH_PASSED_TO_STREAM ); return factory; }
public JacksonJsonProvider create(Iterable<? extends Module> modules) { ObjectMapper mapper = new ObjectMapper(); /* This is what MapperConfigurator would do to a default ObjectMapper */ AnnotationIntrospector intr = AnnotationIntrospector.pair(new JacksonAnnotationIntrospector(), new JaxbAnnotationIntrospector()); mapper.setDeserializationConfig(mapper.getDeserializationConfig().withAnnotationIntrospector(intr)); mapper.setSerializationConfig(mapper.getSerializationConfig().withAnnotationIntrospector(intr)); /* In the absence of a specific annotation for @JsonSerialize(include), ignore null fields when serializing */ mapper.setSerializationInclusion(Inclusion.NON_NULL); for (Module module : modules) { mapper.registerModule(module); } mapper.registerModule(new GuavaIterableCapableModule()); JacksonJaxbJsonProvider provider = new JacksonJaxbJsonProvider(mapper, JacksonJaxbJsonProvider.DEFAULT_ANNOTATIONS); // Make sure we only rely on annotations for de-/serialization provider.configure(SerializationConfig.Feature.AUTO_DETECT_GETTERS, false); provider.configure(SerializationConfig.Feature.AUTO_DETECT_FIELDS, false); provider.configure(DeserializationConfig.Feature.AUTO_DETECT_SETTERS, false); provider.configure(DeserializationConfig.Feature.AUTO_DETECT_FIELDS, false); return provider; } }
public static String ObjectToJson(Object object) throws JsonGenerationException, JsonMappingException, IOException { ObjectMapper mapper = new ObjectMapper(); SerializationConfig serializationConfig = mapper.getSerializationConfig(); serializationConfig.set(SerializationConfig.Feature.INDENT_OUTPUT, true); StringWriter sw = new StringWriter(); mapper.writeValue(sw, object); return sw.toString(); }
public String toJSON(T object) throws IOException { JsonFactory jsonFactory = new JsonFactory(); ObjectMapper mapper = new ObjectMapper(jsonFactory); mapper.getSerializationConfig().setAnnotationIntrospector(new JacksonAnnotationIntrospector()); mapper.getSerializationConfig().setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL); jsonFactory.setCodec(mapper); StringWriter writer = new StringWriter(); JsonGenerator jsonGenerator = jsonFactory.createJsonGenerator(writer); jsonGenerator.useDefaultPrettyPrinter(); jsonGenerator.writeObject(object); return writer.getBuffer().toString(); } }
ObjectMapper mapper = new ObjectMapper(); SimpleModule module = new SimpleModule("SamzaModule", new Version(1, 0, 0, "")); mapper.getSerializationConfig().addMixInAnnotations(TaskModel.class, JsonTaskModelMixIn.class); mapper.getDeserializationConfig().addMixInAnnotations(TaskModel.class, JsonTaskModelMixIn.class); mapper.getSerializationConfig().addMixInAnnotations(ContainerModel.class, JsonContainerModelMixIn.class); mapper.getSerializationConfig().addMixInAnnotations(JobModel.class, JsonJobModelMixIn.class); mapper.getDeserializationConfig().addMixInAnnotations(JobModel.class, JsonJobModelMixIn.class);
private static JsonFactory createJsonFactory() { JsonFactory jsonFactory = new JsonFactory(); ObjectMapper mapper = new ObjectMapper(jsonFactory); mapper.getSerializationConfig().setAnnotationIntrospector(new JacksonAnnotationIntrospector()); mapper.getSerializationConfig().setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL); mapper.getDeserializationConfig().disable(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES); jsonFactory.setCodec(mapper); return jsonFactory; }
@Override protected ObjectMapper createInstance() throws Exception { ObjectMapper mapper = new ObjectMapper(); if(mixins!=null) { for (Map.Entry<Class<?>, Class<?>> entry : mixins.entrySet()) { mapper.getSerializationConfig().addMixInAnnotations(entry.getKey(), entry.getValue()); mapper.getDeserializationConfig().addMixInAnnotations(entry.getKey(), entry.getValue()); } } return mapper; }
public static ObjectMapper getMapper() { if(mapper == null) { mapper = new ObjectMapper(); SerializationConfig config = mapper .getSerializationConfig() .withSerializationInclusion(Inclusion.NON_EMPTY) .without(SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS); mapper.setSerializationConfig(config); } return mapper; } }