Springboot-----fastjson自定义序列化和反序列化

一:fastjson的自定义序列化

 定义一个class---->实现ObjectSerializer接口------>在自定义的class中可以操作数据的序列化

/**
 * 用于objectId的序列化
 */
public class ObjectIdSerializer implements ObjectSerializer {

    @Override
    public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features) throws IOException {
        SerializeWriter out = serializer.out;

        if (object instanceof ObjectId) {
            ObjectId objectId = (ObjectId) object;
            out.writeString(objectId.toString());
            return;
        }
    }
}

二:fastjson的自定义反序列化

定义一个class---->实现ObjectDeserializer接口------>在自定义的class中可以操作数据的反序列化

public class ObjectIdDeserializer implements ObjectDeserializer{

    @Override
    public ObjectId deserialze(DefaultJSONParser parser, Type type, Object fieldname){

        String idString = parser.getLexer().stringVal();
        return new ObjectId(idString);
    }


    @Override
    public int getFastMatchToken(){return 0;}
}

 


版权声明:本文为x5087082原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。