我需要序列化/反序列化一个带有枚举的POJO。我有以下DTO:
public enum MyEnum {
VAL1("val1"),
VAL2("val2") {
@Override
public String getValue() {
return "test2";
}
};
private final String name;
MyEnum(String name) {
this.name = name;
}
public String getValue() {
return name;
}
}
public class MyPojo {
public MyEnum prop;
}
public static void main(String... args) {
Gson gson = new GsonBuilder().registerTypeAdapter(MyEnum.class, new MyEnumSeserializer());
MyPojo p = new MyPojo();
p.prop = MyEnum.VAL2; // and I get MyEnum$1.class and My serializer doesn't work
String json = gson.toJson(p);
MyPojo p1 = gson.fromJson(json, MyPojo.class);
}
如何使用Gson库为代理类编写自定义序列化程序/反序列化程序?我不能使用其他库。
1条答案
按热度按时间oxiaedzo1#
我已经找到了解决办法。需要改变
至
且都工作正常。