Java 类com.fasterxml.jackson.databind.ser.BeanSerializerFactory 实例源码
项目:sam
文件:JsonHelper.java
public static JsonSerializer<Object> getBeanSerializer(SerializerProvider sp, Class<?> cls) throws JsonMappingException {
final SerializationConfig config = sp.getConfig();
final JavaType type = config.constructType(cls);
final BeanDescription beanDesc = config.introspect(type);
return BeanSerializerFactory.instance.findBeanSerializer(sp, type, beanDesc);
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot
文件:DataSourceJsonSerializationTests.java
@Test
public void serializerFactory() throws Exception {
DataSource dataSource = new DataSource();
SerializerFactory factory = BeanSerializerFactory.instance
.withSerializerModifier(new GenericSerializerModifier());
ObjectMapper mapper = new ObjectMapper();
mapper.setSerializerFactory(factory);
String value = mapper.writeValueAsString(dataSource);
assertThat(value.contains("\"url\":")).isTrue();
}
项目:endpoints-java
文件:ObjectMapperUtil.java
/**
* Creates an Endpoints standard object mapper that allows unquoted field names and unknown
* properties.
*
* Note on unknown properties: When Apiary FE supports a strict mode where properties
* are checked against the schema, BE can just ignore unknown properties. This way, FE does
* not need to filter out everything that the BE doesn't understand. Before that's done,
* a property name with a typo in it, for example, will just be ignored by the BE.
*/
public static ObjectMapper createStandardObjectMapper(ApiSerializationConfig config) {
ObjectMapper objectMapper = new ObjectMapper()
.configure(JsonParser.Feature.ALLOW_COMMENTS, true)
.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true)
.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true)
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
.setBase64Variant(Base64Variants.MODIFIED_FOR_URL)
.setSerializerFactory(
BeanSerializerFactory.instance.withSerializerModifier(new DeepEmptyCheckingModifier()));
AnnotationIntrospector pair = AnnotationIntrospector.pair(
new ApiAnnotationIntrospector(config), new JacksonAnnotationIntrospector());
objectMapper.setAnnotationIntrospector(pair);
return objectMapper;
}
项目:spring-boot-concourse
文件:DataSourceJsonSerializationTests.java
@Test
public void serializerFactory() throws Exception {
DataSource dataSource = new DataSource();
SerializerFactory factory = BeanSerializerFactory.instance
.withSerializerModifier(new GenericSerializerModifier());
ObjectMapper mapper = new ObjectMapper();
mapper.setSerializerFactory(factory);
String value = mapper.writeValueAsString(dataSource);
assertThat(value.contains("\"url\":")).isTrue();
}
项目:contestparser
文件:DataSourceJsonSerializationTests.java
@Test
public void serializerFactory() throws Exception {
DataSource dataSource = new DataSource();
SerializerFactory factory = BeanSerializerFactory.instance
.withSerializerModifier(new GenericSerializerModifier());
ObjectMapper mapper = new ObjectMapper();
mapper.setSerializerFactory(factory);
String value = mapper.writeValueAsString(dataSource);
assertTrue(value.contains("\"url\":"));
}
项目:presto
文件:AbstractTypedJacksonModule.java
@SuppressWarnings("unchecked")
private static <T> JsonSerializer<T> createSerializer(SerializerProvider provider, Class<?> type)
throws JsonMappingException
{
JavaType javaType = provider.constructType(type);
return (JsonSerializer<T>) BeanSerializerFactory.instance.createSerializer(provider, javaType);
}
项目:jsonschema2pojo
文件:SchemaGenerator.java
private SchemaAware getValueSerializer(Object valueAsJavaType) throws JsonMappingException {
SerializerProvider serializerProvider = new DefaultSerializerProvider.Impl().createInstance(OBJECT_MAPPER.getSerializationConfig(), BeanSerializerFactory.instance);
if (valueAsJavaType == null) {
return NullSerializer.instance;
} else {
Class<? extends Object> javaTypeForValue = valueAsJavaType.getClass();
JsonSerializer<Object> valueSerializer = serializerProvider.findValueSerializer(javaTypeForValue, null);
return (SchemaAware) valueSerializer;
}
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot
文件:ConfigurationPropertiesReportEndpoint.java
/**
* Ensure only bindable and non-cyclic bean properties are reported.
* @param mapper the object mapper
*/
private void applySerializationModifier(ObjectMapper mapper) {
SerializerFactory factory = BeanSerializerFactory.instance
.withSerializerModifier(new GenericSerializerModifier());
mapper.setSerializerFactory(factory);
}
项目:spring-boot-concourse
文件:ConfigurationPropertiesReportEndpoint.java
/**
* Ensure only bindable and non-cyclic bean properties are reported.
* @param mapper the object mapper
*/
private void applySerializationModifier(ObjectMapper mapper) {
SerializerFactory factory = BeanSerializerFactory.instance
.withSerializerModifier(new GenericSerializerModifier());
mapper.setSerializerFactory(factory);
}
项目:contestparser
文件:ConfigurationPropertiesReportEndpoint.java
/**
* Ensure only bindable and non-cyclic bean properties are reported.
* @param mapper the object mapper
*/
private void applySerializationModifier(ObjectMapper mapper) {
SerializerFactory factory = BeanSerializerFactory.instance
.withSerializerModifier(new GenericSerializerModifier());
mapper.setSerializerFactory(factory);
}
项目:hydra-java
文件:PagedResourcesSerializer.java
@Override
public void serialize(PagedResources pagedResources, JsonGenerator jgen, SerializerProvider serializerProvider)
throws
IOException {
final SerializationConfig config = serializerProvider.getConfig();
JavaType javaType = config.constructType(pagedResources.getClass());
JsonSerializer<Object> serializer = BeanSerializerFactory.instance.createSerializer(serializerProvider,
javaType);
// replicate pretty much everything from JacksonHydraSerializer
// since we must reorganize the internals of pagedResources to get a hydra collection
// with partial page view, we have to serialize pagedResources with an
// unwrapping serializer
Deque<LdContext> contextStack = (Deque<LdContext>) serializerProvider.getAttribute(KEY_LD_CONTEXT);
if (contextStack == null) {
contextStack = new ArrayDeque<LdContext>();
serializerProvider.setAttribute(KEY_LD_CONTEXT, contextStack);
}
// TODO: filter next/previous/first/last from link list - maybe create new PagedResources without them?
List<Link> links = pagedResources.getLinks();
List<Link> filteredLinks = new ArrayList<Link>();
for (Link link : links) {
String rel = link.getRel();
if (navigationRels.contains(rel)) {
continue;
} else {
filteredLinks.add(link);
}
}
PagedResources toRender = new PagedResources(pagedResources.getContent(), pagedResources.getMetadata(),
filteredLinks);
jgen.writeStartObject();
serializeContext(toRender, jgen, serializerProvider, contextStack);
jgen.writeStringField(JsonLdKeywords.AT_TYPE, "hydra:Collection");
// serialize with PagedResourcesMixin
serializer.unwrappingSerializer(NameTransformer.NOP)
.serialize(toRender, jgen, serializerProvider);
PagedResources.PageMetadata metadata = pagedResources.getMetadata();
jgen.writeNumberField("hydra:totalItems", metadata.getTotalElements());
// begin hydra:view
jgen.writeObjectFieldStart("hydra:view");
jgen.writeStringField(JsonLdKeywords.AT_TYPE, "hydra:PartialCollectionView");
writeRelLink(pagedResources, jgen, Link.REL_NEXT);
writeRelLink(pagedResources, jgen, "previous");
// must also translate prev to its synonym previous
writeRelLink(pagedResources, jgen, Link.REL_PREVIOUS, "previous");
writeRelLink(pagedResources, jgen, Link.REL_FIRST);
writeRelLink(pagedResources, jgen, Link.REL_LAST);
jgen.writeEndObject();
// end hydra:view
jgen.writeEndObject();
contextStack = (Deque<LdContext>) serializerProvider.getAttribute(KEY_LD_CONTEXT);
if (!contextStack.isEmpty()) {
contextStack.pop();
}
}
项目:hydra-java
文件:ResourceSerializer.java
@Override
public void serialize(Resource value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
final SerializationConfig config = provider.getConfig();
JavaType javaType = config.constructType(value.getClass());
JsonSerializer<Object> serializer = BeanSerializerFactory.instance.createSerializer(provider, javaType);
jgen.writeStartObject();
serializer.unwrappingSerializer(NameTransformer.NOP)
.serialize(value, jgen, provider);
jgen.writeEndObject();
}
项目:hydra-java
文件:ResourcesSerializer.java
@Override
public void serialize(Resources value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
final SerializationConfig config = provider.getConfig();
JavaType javaType = config.constructType(value.getClass());
JsonSerializer<Object> serializer = BeanSerializerFactory.instance.createSerializer(provider, javaType);
jgen.writeStartObject();
serializer.serialize(value, jgen, provider);
jgen.writeEndObject();
}