Android 领域,使用多个对象和数组保存json

Android 领域,使用多个对象和数组保存json,android,json,realm,Android,Json,Realm,我是一个新手,我用简单的json保存了数据,但现在我有了一个包含多个对象和数组的json,我花了大量时间来尝试实现这一点。任何帮助都将不胜感激 示例json如下所示: { "status": 200, "message": "Success", "data": [ { "containerStatus2": "Loaded", "stops": [ { "city": "ADDSTOPCITY", "id": "70" } ], "containerStatus": "Loaded",

我是一个新手,我用简单的json保存了数据,但现在我有了一个包含多个对象和数组的json,我花了大量时间来尝试实现这一点。任何帮助都将不胜感激

示例json如下所示:

    {
"status": 200,
"message": "Success",
"data": [
{
"containerStatus2": "Loaded",
"stops": [
{
"city": "ADDSTOPCITY",
"id": "70"
}
],
"containerStatus": "Loaded",
"instructions": "testing load",
"dispatcher": {
"status": 0,
"image_url": "https://lorempixel.com/200/200/technics/6",
"os": ""
},
"docs": [
{
"link": "https://alfred.urbantrucking.com/static/uploads/hhzgkplbqdec.jpg",
"type": "POD",
"name": "marijuana-map-large.jpg"
},
{
"type": "BOL",
"link": "https://alfred.urbantrucking.com/static/uploads/jttojntemolt.jpg",
"name": "lab-test.jpg"
}
],
"created": "Jan-01-2018, 09:36 PM",
"pods": [],
"container2": ""
}],
"success": 1
}

-----------------------------------com.example.Doc.java-----------------------------------

public class Dispatcher extends RealmObject{

    private int status;
    private String imageUrl;
    private String os;

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getImageUrl() {
        return imageUrl;
    }

    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    public String getOs() {
        return os;
    }

    public void setOs(String os) {
        this.os = os;
    }

}
public class Doc extends RealmObject{

    private String link;
    private String type;
    private String name;

    public String getLink() {
        return link;
    }

    public void setLink(String link) {
        this.link = link;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}
public class Response extends RealmObject {

    private int status;
    private String message;
    private List<Datum> data = null;
    private int success;

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getMessage() {
        return message;
    }

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

    public List<Datum> getData() {
        return data;
    }

    public void setData(List<Datum> data) {
        this.data = data;
    }

    public int getSuccess() {
        return success;
    }

    public void setSuccess(int success) {
        this.success = success;
    }

}
public class Stop extends RealmObject{

    private String city;
    private String id;

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

}
-----------------------------------com.example.Response.java-----------------------------------

public class Dispatcher extends RealmObject{

    private int status;
    private String imageUrl;
    private String os;

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getImageUrl() {
        return imageUrl;
    }

    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    public String getOs() {
        return os;
    }

    public void setOs(String os) {
        this.os = os;
    }

}
public class Doc extends RealmObject{

    private String link;
    private String type;
    private String name;

    public String getLink() {
        return link;
    }

    public void setLink(String link) {
        this.link = link;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}
public class Response extends RealmObject {

    private int status;
    private String message;
    private List<Datum> data = null;
    private int success;

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getMessage() {
        return message;
    }

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

    public List<Datum> getData() {
        return data;
    }

    public void setData(List<Datum> data) {
        this.data = data;
    }

    public int getSuccess() {
        return success;
    }

    public void setSuccess(int success) {
        this.success = success;
    }

}
public class Stop extends RealmObject{

    private String city;
    private String id;

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

}

并保存:

Realm realm = Realm.getInstance(this);
realm.beginTransaction();
Response u = realm.createObject(Response.class);
u.setMessage("Hello response");
realm.commitTransaction();

将其解析为一些随机POJO,然后将其映射到RealmObject。