从嵌套的类GSON

时间:2018-02-08 16:44:03

标签: android gson

我试图将GSON库用于我的第一个应用程序。

我的课程有问题。

我从后端返回一个像这样的JSonArray:

[
 {'id':1, 'className':{'id':1}  },
 {'id':2, 'className':{'id':2}  }
]

我的App上有2节课:

public class Class1{
  private int id;
  private Class2 className;
  private int classNameId;

  public Class1(){
   //function set that return error
   setClassNameId(className.getId())
  }
}

public class Class2{
  private int id;
  private int function getId(){
   return id;
  }
}
问题是,当我尝试:

Gson gson = new GsonBuilder().create();
Type listType = new TypeToken<List<Class1>>(){}.getType();
ArrayList<Class1> classess= gson.fromJson(JsonArrayString, listType);

它在Class1构造函数中返回异常:

setClassNameId(className.getId())

因为className null

那么可以通过GSon从子类获取值并在Constructor上设置吗?

1 个答案:

答案 0 :(得分:0)

试试这个

=SUMPRODUCTOFTWOROWS(COLUMN(); ROW(); ROW($A$1))

示例:

public class Class1 {
    @Expose
    @SerializedName("className")
    private ClassName className;
    @Expose
    @SerializedName("id")
    private int id;

    public static class ClassName {
        @Expose
        @SerializedName("id")
        private int id;
    }
}