Я не могу получить доступ к данным согласно классу POJO - PullRequest
0 голосов
/ 22 ноября 2018

Привет, у меня есть следующий ответ json, я не могу получить доступ к данным «edit» jsonobject, как создать pojo для этого?

Пример

{
    "result":"",
    "responseMessage":"",
    "edit":{
        "id":"156",
        "user_id":"5466",

    },
    "data":[
         {
            "dataid":"1",
            "dataname":"tt"
        },
        {
            "dataid":"2",
            "dataname":"tt"
        }
    ]
}

Как создать класс pojo для этого ответа

Ответы [ 3 ]

0 голосов
/ 22 ноября 2018

сделать класс pojo следующим образом ..

public class DataItem{

@SerializedName("dataid")
private String dataid;

@SerializedName("dataname")
private String dataname;

public void setDataid(String dataid){
    this.dataid = dataid;
}

public String getDataid(){
    return dataid;
}

public void setDataname(String dataname){
    this.dataname = dataname;
}

public String getDataname(){
    return dataname;
}

@Override
public String toString(){
    return 
        "DataItem{" + 
        "dataid = '" + dataid + '\'' + 
        ",dataname = '" + dataname + '\'' + 
        "}";
    }
}


public class Edit{

@SerializedName("user_id")
private String userId;

@SerializedName("id")
private String id;

public void setUserId(String userId){
    this.userId = userId;
}

public String getUserId(){
    return userId;
}

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

public String getId(){
    return id;
}

@Override
public String toString(){
    return 
        "Edit{" + 
        "user_id = '" + userId + '\'' + 
        ",id = '" + id + '\'' + 
        "}";
    }
 }


public class Response{

@SerializedName("result")
private String result;

@SerializedName("data")
private List<DataItem> data;

@SerializedName("edit")
private Edit edit;

@SerializedName("responseMessage")
private String responseMessage;

public void setResult(String result){
    this.result = result;
}

public String getResult(){
    return result;
}

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

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

public void setEdit(Edit edit){
    this.edit = edit;
}

public Edit getEdit(){
    return edit;
}

public void setResponseMessage(String responseMessage){
    this.responseMessage = responseMessage;
}

public String getResponseMessage(){
    return responseMessage;
}

@Override
public String toString(){
    return 
        "Response{" + 
        "result = '" + result + '\'' + 
        ",data = '" + data + '\'' + 
        ",edit = '" + edit + '\'' + 
        ",responseMessage = '" + responseMessage + '\'' + 
        "}";
    }
 }

Создать используемый класс pojo Плагин Robopojo .

0 голосов
/ 22 ноября 2018

Вы можете использовать эту ссылку для создания классов POJO для вашего JSON в будущем.Однако ваш JSON также недействителен, он содержит дополнительные , в вашем редактируемом объекте.

"edit":{
    "id":"156",
    "user_id":"5466",<--This comma

}
0 голосов
/ 22 ноября 2018

Ваш Json неверен.Внутри edit есть дополнительный «, ».Удалите это и попробуйте получить доступ к данным edit

Тем не менее, если вы не можете получить доступ, я прилагаю следующий POJO для использования.

public class ExPojo
{
    private String responseMessage;

    private String result;

    private Data[] data;

    private Edit edit;

    public String getResponseMessage ()
    {
        return responseMessage;
    }

    public void setResponseMessage (String responseMessage)
    {
        this.responseMessage = responseMessage;
    }

    public String getResult ()
    {
        return result;
    }

    public void setResult (String result)
    {
        this.result = result;
    }

    public Data[] getData ()
    {
        return data;
    }

    public void setData (Data[] data)
    {
        this.data = data;
    }

    public Edit getEdit ()
    {
        return edit;
    }

    public void setEdit (Edit edit)
    {
        this.edit = edit;
    }

    @Override
    public String toString()
    {
        return "ClassPojo [responseMessage = "+responseMessage+", result = "+result+", data = "+data+", edit = "+edit+"]";
    }
}

Надеюсь, это поможет,

...