我最近开始使用 Jackson 作为朋友推荐它,所以我决定创建这个 Item 对象,以便我可以玩序列化和反序列化,尽管反序列化时抽象类发生了异常。此处列出的 Item 对象
public static abstract class Item implements Saveable, Serializable, Useable {
private static final long serialVersionUID = 45612874562156L;
private final String nameId;
String name;
String description;
int value;
public Item(String name, String description, int value) {
this.name = name;
this.nameId = name;
this.description = description;
this.value = value;
}
@Override
public void use() {}
@Override
public void save(Path directory) {
save(directory, nameId, Prefix.SHOP, this);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() { return description; }
public void setDescription(String description) {
this.description = description;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
}
在尝试通过 Google 搜索答案时,我尝试启用返回相同异常的默认类型,并尝试实现您自己的反序列化器。我真的找不到一个很好的来源来展示如何创建自己的解串器。这相信我相信它可能通过扩展 StdDeserializer 来实现你自己的解串器,但我真的不知道如何。我希望在执行时返回一个项目,Saveable.load(Paths.get("./data", "other", "shop"), "Testing", Prefix.SHOP, GiftShop.Item.class)但目前我遇到了异常。我在这个 Spock 测试中测试了所有这些
如果问题是我没有创建自己的自定义反序列化器,那么关于如何实现一个的资源会很棒。我正在用 Java 10 和 Jackson 2.9.7 版编写这一切。感谢您的时间,并希望我能提供所有需要的信息。
不负相思意
相关分类