Package com.alibaba.fastjson.serializer
Interface ObjectSerializer
-
- All Known Subinterfaces:
AutowiredObjectSerializer,ContextObjectSerializer
- All Known Implementing Classes:
AdderSerializer,AnnotationSerializer,AppendableSerializer,ArraySerializer,AtomicCodec,AwtCodec,BigDecimalCodec,BigIntegerCodec,BooleanCodec,ByteBufferCodec,CalendarCodec,CharacterCodec,ClobSerializer,CollectionCodec,DateCodec,DoubleSerializer,EnumerationSerializer,EnumSerializer,FloatCodec,GuavaCodec,IntegerCodec,JavaBeanSerializer,Jdk8DateCodec,JodaCodec,JSONAwareSerializer,JSONLibDataFormatSerializer,JSONObjectCodec,JSONSerializableSerializer,ListSerializer,LongCodec,MapSerializer,MiscCodec,MonetaCodec,ObjectArrayCodec,OptionalCodec,PrimitiveArraySerializer,ReferenceCodec,SimpleDateFormatSerializer,StringCodec,SwaggerJsonSerializer,ToStringSerializer
public interface ObjectSerializerInterface representing a custom serializer for fastjson. You should write a custom serializer, if you are not happy with the default serialization done by fastjson. You will also need to register this serializer throughSerializeConfig.put(Type, ObjectSerializer).public static class Result { public ResultCode code; } public static enum ResultCode { LOGIN_FAILURE(8), INVALID_ARGUMENT(0), SIGN_ERROR(17); public final int value; ResultCode(int value){ this.value = value; } } public static class ResultCodeSerilaizer implements ObjectSerializer { public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features) throws IOException { serializer.write(((ResultCode) object).value); } } SerializeConfig.getGlobalInstance().put(ResultCode.class, new ResultCodeSerilaizer()); Result result = new Result(); result.code = ResultCode.SIGN_ERROR; String json = JSON.toJSONString(result, config); // {"code":17} Assert.assertEquals("{\"code\":17}", json);- Author:
- wenshao[szujobs@hotmail.com]
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidwrite(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features)fastjson invokes this call-back method during serialization when it encounters a field of the specified type.
-
-
-
Method Detail
-
write
void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features) throws IOException
fastjson invokes this call-back method during serialization when it encounters a field of the specified type.- Parameters:
serializer-object- src the object that needs to be converted to Json.fieldName- parent object field namefieldType- parent object field typefeatures- parent object field serializer features- Throws:
IOException
-
-