com.fasterxml.jackson.databind.ObjectMapper.getSerializerProvider()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(12.2k)|赞(0)|评价(0)|浏览(85)

本文整理了Java中com.fasterxml.jackson.databind.ObjectMapper.getSerializerProvider()方法的一些代码示例,展示了ObjectMapper.getSerializerProvider()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ObjectMapper.getSerializerProvider()方法的具体详情如下:
包路径:com.fasterxml.jackson.databind.ObjectMapper
类名称:ObjectMapper
方法名:getSerializerProvider

ObjectMapper.getSerializerProvider介绍

[英]Accessor for the "blueprint" (or, factory) instance, from which instances are created by calling DefaultSerializerProvider#createInstance. Note that returned instance cannot be directly used as it is not properly configured: to get a properly configured instance to call, use #getSerializerProviderInstance() instead.
[中]“blueprint”(或工厂)实例的访问器,通过调用DefaultSerializerProvider#createInstance从中创建实例。请注意,返回的实例不能直接使用,因为它没有正确配置:要获得要调用的正确配置的实例,请改用#getSerializerProviderInstance()。

代码示例

代码示例来源:origin: joelittlejohn/jsonschema2pojo

private ObjectNode simpleTypeSchema(JsonNode exampleValue) {
  try {
    Object valueAsJavaType = this.objectMapper.treeToValue(exampleValue, Object.class);
    SchemaAware valueSerializer = getValueSerializer(valueAsJavaType);
    return (ObjectNode) valueSerializer.getSchema(this.objectMapper.getSerializerProvider(), null);
  } catch (JsonProcessingException e) {
    throw new GenerationException("Unable to generate a schema for this json example: " + exampleValue, e);
  }
}

代码示例来源:origin: stackoverflow.com

mapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false);
mapper.setSerializationInclusion(Include.NON_NULL);
mapper.getSerializerProvider().setNullKeySerializer(new MyNullKeySerializer());
System.out.println(mapper.writeValueAsString(foos));

代码示例来源:origin: auth0/java-jwt

@Before
public void setUp() throws Exception {
  writer = new StringWriter();
  serializer = new PayloadSerializer();
  jsonGenerator = new JsonFactory().createGenerator(writer);
  ObjectMapper mapper = new ObjectMapper();
  jsonGenerator.setCodec(mapper);
  serializerProvider = mapper.getSerializerProvider();
}

代码示例来源:origin: rapidoid/rapidoid

public static synchronized void reset() {
  for (ObjectMapper mapper : U.list(MAPPER, PRETTY_MAPPER)) {
    SerializerProvider serializerProvider = mapper.getSerializerProvider();
    if (serializerProvider instanceof DefaultSerializerProvider) {
      DefaultSerializerProvider provider = (DefaultSerializerProvider) serializerProvider;
      provider.flushCachedSerializers();
    } else {
      Log.warn("Couldn't clear the cache of Jackson serializers!", "class", Cls.of(serializerProvider));
    }
    DeserializationContext deserializationContext = mapper.getDeserializationContext();
    Object cache = Cls.getFieldValue(deserializationContext, "_cache");
    if (cache instanceof DeserializerCache) {
      DeserializerCache deserializerCache = (DeserializerCache) cache;
      deserializerCache.flushCachedDeserializers();
    } else {
      Log.warn("Couldn't clear the cache of Jackson deserializers!", "class", Cls.of(cache));
    }
  }
}

代码示例来源:origin: spring-projects/spring-data-rest

/**
 * Returns the {@link JsonSerializer} for the given type, or {@literal null} if none available.
 *
 * @param type must not be {@literal null}.
 * @return
 */
public JsonSerializer<?> getTypeSerializer(Class<?> type) {
  Assert.notNull(type, "Type must not be null!");
  try {
    SerializerProvider provider = mapper.getSerializerProvider();
    if (!(provider instanceof DefaultSerializerProvider)) {
      return null;
    }
    provider = ((DefaultSerializerProvider) provider).createInstance(mapper.getSerializationConfig(),
        mapper.getSerializerFactory());
    return provider.findValueSerializer(type);
  } catch (JsonMappingException o_O) {
    return null;
  }
}

代码示例来源:origin: org.apache.fulcrum/fulcrum-json-jackson2

void cleanSerializerCache(ObjectMapper mapper) {
    if (mapper.getSerializerProvider() instanceof DefaultSerializerProvider) {
      int cachedSerProvs = ((DefaultSerializerProvider) mapper
          .getSerializerProvider()).cachedSerializersCount();
      if (cachedSerProvs > 0) {
//                getLogger()
//                        .debug("flushing cachedSerializersCount:"
//                                + cachedSerProvs);
        ((DefaultSerializerProvider) mapper.getSerializerProvider())
            .flushCachedSerializers();
      }
    }
  }

代码示例来源:origin: stackoverflow.com

public static void main(String[] args) throws JsonProcessingException {
   List<String> strings = new ArrayList<>();
   strings.add("string 1");
   strings.add("string 2");
   strings.add(null);
   strings.add(null);
   ObjectMapper mapper=new ObjectMapper();
   mapper.getSerializerProvider().setNullValueSerializer(new NullSerializer());
   System.out.println(mapper.writeValueAsString(strings));
 }

代码示例来源:origin: cdelmas/microservices-comparison

private static ObjectMapper createObjectMapper() {
    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
      @Override
      public void serialize(Object value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException {
      }
    });
    objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
    return objectMapper;
  }
}

代码示例来源:origin: com.reprezen.genflow/genflow-api

private static ObjectMapper getNullKeyHandlingMapper() {
    // standard provider chokes on null key values, but we'd rather incorporate them
    // as "null"
    ObjectMapper mapper = new ObjectMapper();
    mapper.getSerializerProvider().setNullKeySerializer(new JsonSerializer<Object>() {
      @Override
      public void serialize(Object value, JsonGenerator gen, SerializerProvider serializers)
          throws IOException, JsonProcessingException {
        gen.writeFieldName("null");
      }
    });
    return mapper;
  }
}

代码示例来源:origin: stackoverflow.com

public class App {

  public static void main(String... args) throws JsonProcessingException, IOException {

    ObjectMapper objectMapper = new ObjectMapper();
    SimpleModule module = new SimpleModule();

    /* initialize object */
    A a = new A(1, 2, 3);
    /* initialize a new serializer object with wanted properties and add to module */
    module.addSerializer(new ASerializer(new String[]{"_1", "_2"}));

    /* if you want to flush cached serializers */
    DefaultSerializerProvider dsp = (DefaultSerializerProvider) objectMapper.getSerializerProvider();
    dsp.flushCachedSerializers();

    objectMapper.registerModule(module);
    System.out.println(objectMapper.writeValueAsString(a));

  }

}

代码示例来源:origin: com.epam.dep.esp/gmp-common

public void cleanCache() {
    SerializerProvider serializerProvider = getObjectMapper().getSerializerProvider();
    if (serializerProvider instanceof DefaultSerializerProvider) {
      ((DefaultSerializerProvider) serializerProvider).flushCachedSerializers();
    }
  }
}

代码示例来源:origin: stackoverflow.com

class MyDtoNullKeySerializer extends JsonSerializer<Object> {
  @Override
  public void serialize(Object nullKey, JsonGenerator jsonGenerator, SerializerProvider unused) throws IOException, JsonProcessingException {
    jsonGenerator.writeFieldName("");
  }
}

@Test
public void givenAllowingMapObjectWithNullKey_whenWriting_thenCorrect() throws JsonProcessingException {
  ObjectMapper mapper = new ObjectMapper();
  mapper.getSerializerProvider().setNullKeySerializer(new MyDtoNullKeySerializer());

  MyDto dtoObject = new MyDto();
  dtoObject.setStringValue("dtoObjectString");

  Map<String, MyDto> dtoMap = new HashMap<String, MyDto>();
  dtoMap.put(null, dtoObject);

  String dtoMapAsString = mapper.writeValueAsString(dtoMap);

  assertThat(dtoMapAsString, containsString("\"\""));
  assertThat(dtoMapAsString, containsString("dtoObjectString"));
}

代码示例来源:origin: wzypandaking/rbac-shiro

@Bean
  @Primary
  @ConditionalOnMissingBean(ObjectMapper.class)
  public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {
    ObjectMapper objectMapper = builder.createXmlMapper(false).build();
    objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
      @Override
      public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
        jsonGenerator.writeString("");
      }
    });
    return objectMapper;
  }
}

代码示例来源:origin: org.jsonschema2pojo/jsonschema2pojo-core

private ObjectNode simpleTypeSchema(JsonNode exampleValue) {
  try {
    Object valueAsJavaType = this.objectMapper.treeToValue(exampleValue, Object.class);
    SchemaAware valueSerializer = getValueSerializer(valueAsJavaType);
    return (ObjectNode) valueSerializer.getSchema(this.objectMapper.getSerializerProvider(), null);
  } catch (JsonProcessingException e) {
    throw new GenerationException("Unable to generate a schema for this json example: " + exampleValue, e);
  }
}

代码示例来源:origin: vakinge/oneplatform

@Bean
  @Primary
  @ConditionalOnMissingBean(ObjectMapper.class)
  public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {
    ObjectMapper objectMapper = builder.createXmlMapper(false).build();
    objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
    objectMapper.disable(DeserializationFeature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS);
    objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
    objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() {
      @Override
      public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
        jsonGenerator.writeString("");
      }
    });
    return objectMapper;
  }
}

代码示例来源:origin: net.logstash.logback/logstash-logback-encoder

/**
 * Gets a {@link SerializerProvider} configured with the {@link ObjectMapper}'s {@link SerializationConfig}
 * ({@link ObjectMapper#getSerializationConfig()}) to be used for serialization.
 * <p>
 * Note that the {@link ObjectMapper}'s {@link SerializerProvider} ({@link ObjectMapper#getSerializerProvider()})
 * cannot be used directly, because the {@link SerializerProvider}'s {@link SerializationConfig} ({@link SerializerProvider#getConfig()}) is null,
 * which causes NullPointerExceptions when it is used.
 */
private SerializerProvider getSerializerProvider(ObjectMapper mapper) {
  
  SerializerProvider provider = serializerProviders.get(mapper);
  if (provider == null) {
    
    SerializerProvider newProvider = ((DefaultSerializerProvider) mapper.getSerializerProvider())
        .createInstance(mapper.getSerializationConfig(), mapper.getSerializerFactory());
    
    SerializerProvider existingProvider = serializerProviders.putIfAbsent(mapper, newProvider);
    
    provider = (existingProvider == null) ? newProvider : existingProvider;
  }
  return provider;
}

代码示例来源:origin: mongojack/mongojack

public static SerializerProvider getSerializerProvider(
    ObjectMapper objectMapper) {
  DefaultSerializerProvider serializerProvider = (DefaultSerializerProvider) objectMapper
      .getSerializerProvider();
  return serializerProvider.createInstance(
      objectMapper.getSerializationConfig(),
      getSerializerFactory(objectMapper));
}

代码示例来源:origin: com.googlecode.jsonschema2pojo/jsonschema2pojo-core

private ObjectNode simpleTypeSchema(JsonNode exampleValue) {
  try {
    Object valueAsJavaType = OBJECT_MAPPER.treeToValue(exampleValue, Object.class);
    SchemaAware valueSerializer = getValueSerializer(valueAsJavaType);
    return (ObjectNode) valueSerializer.getSchema(OBJECT_MAPPER.getSerializerProvider(), null);
  } catch (JsonMappingException e) {
    throw new GenerationException("Unable to generate a schema for this json example: " + exampleValue, e);
  } catch (JsonProcessingException e) {
    throw new GenerationException("Unable to generate a schema for this json example: " + exampleValue, e);
  }
}

代码示例来源:origin: com.conveyal/gtfs-lib

/**
 * Create a new JsonManager
 * @param theClass The class to create a json manager for (yes, also in the diamonds).
 */
public JsonManager (Class<T> theClass) {
  this.theClass = theClass;
  this.mapper = new ObjectMapper();
  mapper.addMixInAnnotations(Rectangle2D.class, Rectangle2DMixIn.class);
  mapper.registerModule(new GeoJsonModule());
  SimpleModule deser = new SimpleModule();
  deser.addDeserializer(LocalDate.class, new JacksonSerializers.LocalDateStringDeserializer());
  deser.addSerializer(LocalDate.class, new JacksonSerializers.LocalDateStringSerializer());
  deser.addDeserializer(Rectangle2D.class, new Rectangle2DDeserializer());
  mapper.registerModule(deser);
  mapper.getSerializerProvider().setNullKeySerializer(new JacksonSerializers.MyDtoNullKeySerializer());
  filters = new SimpleFilterProvider();
  filters.addFilter("bbox", SimpleBeanPropertyFilter.filterOutAllExcept("west", "east", "south", "north"));
  this.writer = mapper.writer(filters);
}

代码示例来源:origin: chillzhuang/blade-tool

private static ObjectMapper initWriteObjectMapper(ObjectMapper readObjectMapper) {
  // 拷贝 readObjectMapper
  ObjectMapper writeObjectMapper = readObjectMapper.copy();
  // null 处理
  writeObjectMapper.setSerializerFactory(writeObjectMapper.getSerializerFactory().withSerializerModifier(new BladeBeanSerializerModifier()));
  writeObjectMapper.getSerializerProvider().setNullValueSerializer(BladeBeanSerializerModifier.NullJsonSerializers.STRING_JSON_SERIALIZER);
  return writeObjectMapper;
}

相关文章

微信公众号

最新文章

更多

ObjectMapper类方法