Java 类com.fasterxml.jackson.databind.ser.BeanSerializer 实例源码
项目:log4j2-extended-jsonlayout
文件:ExtendedJsonSerializer.java
@Override
protected void serializeFields(Object bean, final JsonGenerator gen, SerializerProvider provider) throws IOException {
if (bean instanceof ExtendedJsonWrapper) {
ExtendedJsonWrapper mixin = (ExtendedJsonWrapper) bean;
Object origin = mixin.getOrigin();
BeanSerializer serializer = (BeanSerializer) provider.findValueSerializer(origin.getClass());
new ExtendedJsonSerializer(serializer).serializeFieldsFiltered(origin, gen, provider);
Set<Entry<String, Object>> entries = mixin.getMixed().entrySet();
//gen.writeObjectField("mixedIn", mixin.getMixed());
for (Entry<String, Object> entry : entries) {
if(entry.getValue() != null){
try {
gen.writeObjectField(entry.getKey(), entry.getValue());
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
} else {
super.serializeFields(bean, gen, provider);
}
}
项目:QD
文件:DataMessageSerializer.java
private JsonSerializer<Object> findSerializer(Class<?> type, SerializerProvider provider, boolean eventBean)
throws JsonMappingException
{
JsonSerializer<Object> serializer = serializers.serializerFor(type);
if (serializer != null)
return serializer;
serializer = provider.findValueSerializer(type, null);
if (eventBean)
serializer = new EventBeanSerializer((BeanSerializer)serializer);
serializers = serializers.newWith(type, serializer);
return serializer;
}
项目:owsi-core-parent
文件:HibernateBeanSerializerModifier.java
@Override
public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription beanDesc,
JsonSerializer<?> serializer) {
if (serializer instanceof BeanSerializer) {
return new BeanSerializerWrapper((BeanSerializer) serializer);
} else {
return serializer;
}
}
项目:owsi-core-parent
文件:HibernateBeanSerializerModifier.java
@Override
public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription beanDesc,
JsonSerializer<?> serializer) {
if (serializer instanceof BeanSerializer) {
return new BeanSerializerWrapper((BeanSerializer) serializer);
} else {
return serializer;
}
}
项目:QD
文件:EventBeanSerializer.java
EventBeanSerializer(BeanSerializer src) {
super(src);
}
项目:owsi-core-parent
文件:HibernateBeanSerializerModifier.java
protected BeanSerializerWrapper(BeanSerializer src) {
super(src);
this.serializer = src;
}
项目:owsi-core-parent
文件:HibernateBeanSerializerModifier.java
protected BeanSerializerWrapper(BeanSerializer src) {
super(src);
this.serializer = src;
}
项目:gedcomx-java
文件:ExtensibleObjectSerializer.java
public ExtensibleObjectSerializer(BeanSerializer src) {
super(src);
}
项目:gedcomx-java
文件:GedcomBeanSerializerModifier.java
@Override
public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription beanDesc, JsonSerializer<?> serializer) {
return (serializer instanceof BeanSerializer) ? new ExtensibleObjectSerializer((BeanSerializer) serializer) : serializer;
}
项目:imagej-server
文件:DefaultJsonService.java
/**
* Constructs and initializes a JsonService with an {@link ObjectService}.
*
* @param objectService
*/
public DefaultJsonService(final ObjectService objectService) {
idToObjDeserializer = new UntypedObjectDeserializer(null, null) {
@Override
public Object deserialize(JsonParser p, DeserializationContext ctxt)
throws IOException, JsonProcessingException
{
final Object obj = super.deserialize(p, ctxt);
if (!(obj instanceof String && ((String) obj).startsWith("object:")))
return obj;
final String id = (String) obj;
if (!objectService.contains(id)) {
throw new JsonMappingException(p, "Object does not exist");
}
final ObjectInfo info = objectService.find(id);
info.updateLastUsed();
return info.getObject();
}
};
final JsonSerializer<Object> objToIdSerializer =
new JsonSerializer<Object>()
{
@Override
public void serialize(Object value, JsonGenerator gen,
SerializerProvider serializers) throws IOException,
JsonProcessingException
{
gen.writeString(objectService.register(value, "DefaultJsonService"));
}
};
final SimpleModule objToIdModule = new SimpleModule();
objToIdModule.setSerializerModifier(new BeanSerializerModifier() {
@Override
public JsonSerializer<?> modifySerializer(SerializationConfig config,
BeanDescription beanDesc, JsonSerializer<?> serializer)
{
if (Mixins.support(beanDesc.getBeanClass())) return serializer;
// If the serialized class is unknown (i.e. serialized using the general
// BeanSerializer) or should not be serialized (i.e. complicated class
// implemented interfaces such as Iterable), would be serialized as an
// ID.
if (serializer instanceof BeanSerializer) return objToIdSerializer;
if (notSerialized(beanDesc.getBeanClass())) return objToIdSerializer;
return serializer;
}
});
objToIdMapper = new ObjectMapper();
objToIdMapper.registerModule(objToIdModule);
// register Jackson MixIns to obtain better json output format for some
// specific types
Mixins.registerMixIns(objToIdMapper);
}