Java Gson未序列化值
这是我的Json响应Java Gson未序列化值,java,json,serialization,gson,Java,Json,Serialization,Gson,这是我的Json响应 {"averageYield":15.0,"maxYield":15.0,"personalYield":100.0} 我使用Gson序列化这个Json,但它将所有字段的值存储为0 这是我的模型课 public class GetYieldComparisonResponse extends RealmObject { @SerializedName("averageYield") private double averageYield; @S
{"averageYield":15.0,"maxYield":15.0,"personalYield":100.0}
我使用Gson序列化这个Json,但它将所有字段的值存储为0
这是我的模型课
public class GetYieldComparisonResponse extends RealmObject {
@SerializedName("averageYield")
private double averageYield;
@SerializedName("maxYield")
private double maxYield;
@SerializedName("personalYield")
private double personalYield;
public double getAverageYield() {
return averageYield;
}
public void setAverageYield(double averageYield) {
this.averageYield = averageYield;
}
public double getMaxYield() {
return maxYield;
}
public void setMaxYield(double maxYield) {
this.maxYield = maxYield;
}
public double getPersonalYield() {
return personalYield;
}
public void setPersonalYield(double personalYield) {
this.personalYield = personalYield;
}
}
我使用领域来存储数据,但每个字段的存储值都是0
GetYieldComparisonResponse getYieldComparisonResponse = GsonUtils.fromGson( basicResponse.getResponse(), GetYieldComparisonResponse.class );
这是我的GsonUtils.java
// This Class is useful for mapping Json into Java Objects and vice versa.
public class GsonUtils {
private static final Gson gson = new Gson();
// This will Convert Java Objects into JSON String...
public static String toGson(Object object) {
return gson.toJson( object );
}
// Gives Java Objects from JSON
public static <T> T fromGson(String json, Class<T> type) {
return gson.fromJson( json, type );
}
// get Array...
public static Object jsonToArray(String json, Type type) {
return gson.fromJson( json, type );
}
}
//此类用于将Json映射到Java对象,反之亦然。
公共类GsonUtils{
私有静态最终Gson Gson=new Gson();
//这将把Java对象转换成JSON字符串。。。
公共静态字符串toGson(对象){
返回gson.toJson(对象);
}
//从JSON提供Java对象
公共静态T fromGson(字符串json,类类型){
返回gson.fromJson(json,类型);
}
//获取数组。。。
公共静态对象JSONTORARY(字符串json,类型){
返回gson.fromJson(json,类型);
}
}
如果我这样做,效果会非常好:
GetYieldComparisonResponse getYieldComparisonResponse = GsonUtils.fromGson( "{\"averageYield\":15.0,\"maxYield\":15.0,\"personalYield\":100.0}", GetYieldComparisonResponse.class );
可能是您的响应中存在的问题?什么类型的
basicResponse
以及basicResponse.getResponse()
返回什么类型?这是Json响应。{“averageYield”:15.0,“maxYield”:15.0,“personalYield”:100.0}这一个。我发现没有将所有字段的值存储为0。在这个响应中。@antoniosss我使用的是realm,所以当它将json序列化为对象时,gson将所有值设为0。@AviPatel您还没有回答我的问题Json响应
可能不是一种类型,因为它包含空格。我们也需要这个包。我不这么认为,这应该是问题所在,因为您所做的与basicResponse.getResponse()所做的相同。这也没有帮助。