fastjson使用笔记

290 阅读1分钟

fastjson简介

FastJson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean

  1. 自定义序列化与反序列化方式
/**
* 实体类
**/
@Getter
@Setter
public class Demo implements Serializable {
    private static final long serialVersionUID = 1L;
     @JSONField(serializeUsing = DemoSerializer.class, deserializeUsing = DemoDeserializer.class)
    private String field;
}

/**
* 序列化类
**/
public static class DemoSerializer implements ObjectSerializer {

        @Override
        public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType, int features) {
            String field = (String) object;
            // todo 对field做业务处理
            serializer.write(field);
        }
}

/**
* 反序列化类
**/
public static class HexStringDeserializer implements ObjectDeserializer {
        @Override
        public String deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
            String field = parser.getLexer().stringVal();
            // todo 对field做业务处理
            return field;
        }

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