序列化、反序列化需要实现 两接口  

ObjectSerializer, ObjectDeserializer 代码如下:


import com.alibaba.fastjson.parser.DefaultJSONParser;
import com.alibaba.fastjson.parser.deserializer.ObjectDeserializer;
import com.alibaba.fastjson.serializer.JSONSerializer;
import com.alibaba.fastjson.serializer.ObjectSerializer;
import com.alibaba.fastjson.serializer.SerializeWriter;
import com.mch.common.lang.MDateTime;
import java.io.IOException;
import java.lang.reflect.Type;

public class MDateTimeDeSerializer implements ObjectSerializer, ObjectDeserializer {

    @Override
    public MDateTime deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
        String str = parser.lexer.stringVal();
        if (str == null || str.trim().equals("")) {
            return null;
        } else {
            return new MDateTime(str);
        }
    }

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

    @Override
    public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features) throws IOException {
        SerializeWriter out = serializer.getWriter();
        if (object == null) {
            return;
        } else if (object.toString().trim().equals("")) {
            return;
        }
        out.writeString(object.toString());
    }
}


添加到全局对象中  

SerializeConfigParserConfig  代码如下:


private static final MDateTimeDeSerializer mDateTimeDeSerializer = new MDateTimeDeSerializer();
static {
   SerializeConfig.globalInstance.put(MDateTime.class, mDateTimeDeSerializer);
   ParserConfig.global.putDeserializer(MDateTime.class, mDateTimeDeSerializer);
}