gpt4 book ai didi

gson - 使用 Gson 反序列化接口(interface)?

转载 作者:行者123 更新时间:2023-12-04 03:39:30 30 4
gpt4 key购买 nike

我正在尝试将 Gson 与接口(interface)一起使用:

public interface Photo {
public int getWidth();
}

public class DinosaurPhoto implements Photo {
...
}

public class Wrapper {
private Photo mPhoto; // <- problematic
}

...

Wrapper wrapper = new Wrapper();
wrapper.setPhoto(new DinosaurPhoto());
Gson gson = new Gson();
String raw = gson.toJson(wrapper);

// Throws an error since "Photo" can't be deserialized as expected.
Wrapper deserialized = gson.fromJson(raw, Wrapper.class);

由于 Wrapper 类有一个 Photo 类型的成员变量,我该如何使用 Gson 对其进行反序列化?

谢谢

最佳答案

自定义反序列化是必要的。

根据要解决的更大问题,[“类型适配器”] 1"type hierarchy adapter"应该使用。类型层次适配器 "is to cover the case when you want the same representation for all subtypes of a type" .

关于gson - 使用 Gson 反序列化接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11235875/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com