小编joe*_*elj的帖子

如何在Android的Retrofit中处理可选的JSON字段?

我正在为Android应用程序开发JSON解析器.当我向服务器调用数据时,有一些可选字段,如何使用GSON转换器在Retrofit中处理这个?

正常的反应

{
   "status":"SUCCESS",
   "class-1":{
      "class.enddate":"Jan/10/2016",
      "class.startdate":"Jan/10/2015",
      "class.title":"Physics 1",
      "class.short.description":"Physics 1",
      "class.description":"This is a Physics Class"
   }
}
Run Code Online (Sandbox Code Playgroud)

当某些字段没有任何数据时,替代响应

{
  "status":"SUCCESS",
  "class-1":{
     "class.enddate":"Jan/10/2016",
     "class.startdate":"Jan/10/2015",
     "class.title":"Physics 1"
   }
}
Run Code Online (Sandbox Code Playgroud)

POJO课程

public class MyClass {
    @Expose @SerializedName("status")
    public String status;

    @Expose @SerializedName("class-1")
    public MyClassInformation myClassInformation;
}

public class MyClassInformation {
    @Expose @SerializedName("class.title")
    public String classTitle;

    @Expose @SerializedName("class.short.description")
    public String classShortDescription;

    @Expose @SerializedName("class.description")
    public String classDescription;

    @Expose @SerializedName("class.startdate")
    public String startDate;

    @Expose @SerializedName("class.enddate")
    public String endDate;
}
Run Code Online (Sandbox Code Playgroud)

如何以处理不存在的可选字段的方式创建POJO类?当字段丢失时,整个MyClassInformation对象变为NULL,请帮忙.

java android json gson retrofit

8
推荐指数
1
解决办法
5469
查看次数

标签 统计

android ×1

gson ×1

java ×1

json ×1

retrofit ×1