使用数组反序列化对象会使用 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
.
我从服务器得到了这个结果:
{"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
.