将JSON数组更改为pojo对象数组

时间:2017-10-22 08:11:00

标签: java android gson

我收到以下格式的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”时。我怎么能解决这个问题?有没有更好的方法我应该接近?整个目的是获取课程对象的数组,以便我可以操纵它进行显示。

1 个答案:

答案 0 :(得分:0)

尝试将字段重命名为与json响应完全匹配,即使是单例也是如此。