自定义序列化类

泛型基类

代码

public abstract class TemplateSerializer<Timplements ObjectSerializer {

    public abstract void write0(JSONSerializer serializerobjectObject fieldNameType fieldTypeint featuresthrows IOException;

    @Override

    public void write(JSONSerializer serializerObject objectObject fieldNameType fieldTypeint featuresthrows IOException {

        write0(serializer, (TobjectfieldNamefieldTypefeatures);

    }

}

byte[] 实现类

代码

public class ByteArraySerializer extends TemplateSerializer<byte[]{

    @Override

    public void write0(JSONSerializer serializerbyte[] objectObject fieldNameType fieldTypeint featuresthrows IOException {

        serializer.getWriter().writeHex(object);

    }

}

使用例子

代码

public static void main(String[] args) {

    Model model new Model();

    model.bytes new byte[]{135};

    SerializeConfig config new SerializeConfig();

    config.put(byte[].classnew ByteArraySerializer());

    String str JSONObject.toJSONString(modelconfig);

    System.out.println("str = " str);

    System.exit(0);

}

输出结果

str = {"bytes":x'010305'}