使用gson

时间:2017-10-25 12:31:07

标签: android json gson

我有一个看起来像这样的Json:

{
  "statusCode": 200,
  "message": "Success",
    "data": {

    }
}

我想做的是:

public class Success {

@SerializedName("statusCode")
@Expose
private Integer statusCode;
@SerializedName("message")
@Expose
private String message;
@SerializedName("data")
@Expose
private JSONObject data;

public Integer getStatusCode() {
    return statusCode;
}

public void setStatusCode(Integer statusCode) {
    this.statusCode = statusCode;
}

public String getMessage() {
    return message;
}

public void setMessage(String message) {
    this.message = message;
}

public JSONObject getData() {
    return data;
}

public void setData(JSONObject data) {
    this.data = data;
}
}

这里的数据是一个自定义对象,它总是可以有不同的对象和数组集,这就是为什么我只需要它在JSONOBject中。 但是数据JSONObject始终为空。谁能帮忙。提前谢谢。

2 个答案:

答案 0 :(得分:1)

使用com.google.json.JsonObject代替org.json.JSONObject

Gson不知道JSONObject是什么,因为该类属于不同的json库(json.org)。

答案 1 :(得分:0)

已编辑的代码

  @Expose
    private Integer statusCode;
    @SerializedName("message")
    @Expose
    private String message;
    @SerializedName("data")
    @Expose
        private ArrayList<Data> datas;

    public Integer getStatusCode() {
        return statusCode;
    }

    public void setStatusCode(Integer statusCode) {
        this.statusCode = statusCode;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public ArrayList<Data> getData() {
        return datas;
    }

    public void setData(ArrayList<Data> data) {
        this.datas = data;
    }
    }

为数据创建单独的POJO类

 public class Data{

        // parse json Object data
        //if data exists
        //as usual
        //like  @@SerializedName("message")
        //   @Expose
        //  private String message;

        }