FastJson自定义对象的反序列化逻辑

对要反序列化的类使用注解@JSONType,deserializer 属性表示自定义的反序列化对象

@JSONType(deserializer = BusinessDataDeserializer.class)
public class BusinessData {
	private String id;
	private Stirng name;
}

反序列化对象需要实现接口:ObjectDeserializer

import com.alibaba.fastjson.parser.deserializer.ObjectDeserializer;
public class BusinessDataDeserializer implements ObjectDeserializer {
    @Override
    public <T> T deserialze(DefaultJSONParser parser, Type type, Object o) {
        // 反序列化逻辑
        return null;
    }

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

使用

public static void main(String[] args) {
	String jsonStr = "{\"id\":\"UUID_123456\",\"name\":\"Zhangsan\"}";
    BusinessData businessData = JSONObject.parseObject(jsonStr , BusinessData.class);
}

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