类com.fasterxml.jackson.databind.jsonFormatVisitors.JsonMapFormatVisitor源码实例Demo

下面列出了怎么用com.fasterxml.jackson.databind.jsonFormatVisitors.JsonMapFormatVisitor的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: lams   文件: MapSerializer.java
@Override
public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint)
    throws JsonMappingException
{
    JsonMapFormatVisitor v2 = visitor.expectMapFormat(typeHint);        
    if (v2 != null) {
        v2.keyFormat(_keySerializer, _keyType);
        JsonSerializer<?> valueSer = _valueSerializer;
        if (valueSer == null) {
            valueSer = _findAndAddDynamic(_dynamicValueSerializers,
                        _valueType, visitor.getProvider());
        }
        v2.valueFormat(valueSer, _valueType);
    }
}
 
@Override
public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint)
    throws JsonMappingException
{
    JsonMapFormatVisitor v2 = (visitor == null) ? null : visitor.expectMapFormat(typeHint);        
    if (v2 != null) {
        v2.keyFormat(_keySerializer, _type.getKeyType());
        JsonSerializer<?> valueSer = _valueSerializer;
        final JavaType vt = _type.getContentType();
        final SerializerProvider prov = visitor.getProvider();
        if (valueSer == null) {
            valueSer = _findAndAddDynamic(prov, vt);
        }
        final JsonSerializer<?> valueSer2 = valueSer;
        v2.valueFormat(new JsonFormatVisitable() {
            final JavaType arrayType = prov.getTypeFactory().constructArrayType(vt);
            @Override
            public void acceptJsonFormatVisitor(
                    JsonFormatVisitorWrapper v3, JavaType hint3)
                throws JsonMappingException
            {
                JsonArrayFormatVisitor v4 = v3.expectArrayFormat(arrayType);
                if (v4 != null) {
                    v4.itemsFormat(valueSer2, vt);
                }
            }
        }, vt);
    }
}
 
@Override
public JsonMapFormatVisitor expectMapFormat(JavaType type) throws JsonMappingException {
    addFieldIfPresent("Map");
    return new JsonMapFormatVisitor.Base(provider);
}
 
 类方法
 同包方法