如何从Retrofit获取原始JSON?

时间:2014-03-06 20:47:36

标签: gson retrofit

例如给出这个

[{ "data" : { "item1": value1, "item2:" value2 }}]

如果必须首先访问数据,如何获取值'value1'和'value2'?

如果字段位于根目录,那么我可以让方法返回带有这些字段名称的POJO。

我基本上希望以下工作。

@GET("/path/to/data/")
Pojo getData();

class Pojo
{
public String item1;
public String item2;
}

IService service = restAdapter.create(IService.class);
Pojo pojo = service.getData();

Log.e("pojo", pojo.item1 + ", " + pojo.item2);

谢谢。

1 个答案:

答案 0 :(得分:0)

尝试下面的代码,使用Retrofit和Gson库获取value1和value2。

class Pojo
{
    private String item1;
    private String item2;

    //Setters and Getters
}

class Data
{
    private Pojo data;

    //Setters and Getters
}

class MyData
{
    private ArrayList<Data> dataList;

    //Setters and Getters
}

IService service = restAdapter.create(IService.class);
MyData data = service.getData(); 

ArrayList<Data> list = data.getDataList(); // Retrive arraylist from MyData

Data obj = list.get(0); // Get first element from arraylist

Pojo pojo = obj.getData(); // Get pojo from Data 

Log.i("pojo", pojo.item1 + ", " + pojo.item2);