我收到以下格式的API响应。我正在开发Android项目
{
Course: [
{
"Year": 2017,
"CourseTitle": "..",
"Quarter": "autumn",
},
{
"Year": 2017,
"CourseTitle": "..",
"Quarter": "autumn",
}
],
Instructor: {
"name": ,
"address":
}
}
我的目标是获取Course课程数组,并将其分配给我使用online tool创建的POJO(普通旧java对象)。我也在使用GSON库。我确实在网上找到了不同的实现,我终于使用了这个,并且我能够过滤嵌套对象“Courses”,它包含一个数组对象的课程。
JsonParser parser = new JsonParser();
JsonObject element = (JsonObject)parser.parse(response);
JsonElement responseWrapper = element.getAsJsonArray("Courses");
当我使用调试工具查看responseWrapper时,它当然拥有一个JSON数组(对象)。我想将这些数据分配给我创建的“课程”POJO课程
public class Course实现了Parcelable {
private String href;
private int year;
private String courseTitle;
private String quarter;
private String courseTitleLong;
private String curriculumAbbreviation;
private String courseNumber;
}
我添加了以下内容。
Course[] courseList = gson.fromJson(responseWrapper,Course[].class);
CourseList是一个Course对象的数组,但是当我查看使用调试器工具得到的所有字段变量都是“null”时。我怎么能解决这个问题?有没有更好的方法我应该接近?整个目的是获取课程对象的数组,以便我可以操纵它进行显示。
答案 0 :(得分:0)
尝试将字段重命名为与json响应完全匹配,即使是单例也是如此。