我正在使用改造版本 2.1.0 将 JSON 反序列化为 pojo。可以在 json 中以不同名称接收 pojo 中的字段。为了正确反序列化该字段,我按以下方式使用了@serializedName 注释:
@AutoValue
public abstract class Media implements Parcelable {
@SerializedName(value = "title", alternate = {"name"})
public abstract String title();
// More fields and code
但是,由于某些原因,当生成的 JSON 中包含键“title”下的字段时,Gson 会正确读取它,但是当该字段与“name”键相关联时,它不会被读取。
如何让 GSON 在反序列化过程中识别备用名称?
最佳答案
我假设您正在使用 com.ryanharter.auto.value:auto-value-gson
插件。不支持备用序列化名称 added直到版本 0.4.0。更新到 com.ryanharter.auto.value:auto-value-gson:0.4.2
然后您应该能够反序列化备用名称。
关于java - 无法使用 GSON、AutoValue 和 Retrofit 2 反序列化备用名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38809529/