使用数组反序列化对象会使用 GSON 返回 null,为什么?

Deserializing an object with an array is returning null with GSON, why?

我从服务器得到了这个结果:
{"product_option_values":[{"id":43}, {"id":45}]}

而且,我有这些 classes 来为下面的 class 解析上面的字符串

public class MyClass {

    @Key("product_option_values")
    private List<ProductOptionValueResult> values;

    public List<ProductOptionValueResult> getValues() {
        return values;
    }

    public void setValues(List<ProductOptionValueResult> values) {
        this.values = values;
    }
}

public class ProductOptionValueResult {

    private Integer id;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }
}

我正在尝试将上面的字符串转换为 MyClass 的实例,如下所示:

MyClass myclass = gson.fromJson(stringAbove, MyClass.class);

但是我在对象的值 属性 中得到 null,为什么?

而不是这个注释:

@Key("product_option_values")

你可以使用这个:

@SerializedName("product_option_values")

本文来自 com.google.gson.annotations.SerializedName.