改进未知数量的编号JSON对象

时间:2017-03-14 16:44:26

标签: android json retrofit

我在Android应用中使用改造。我无法弄清楚如何处理下面格式的JSON。如果数据存在于数组中,Retrofit会自动将数据放入ArrayList中,如果出现这种情况,如何将其放入ArrayList?

目前还不知道有多少JSON对象(由数字标识)。

我需要的是一个ArrayList(或任何其他数据集)hold和object,它只包含“value”中的内容,即 id,value,title

P.S。我知道JSON中的数据是多余的,但是,我无法访问API,而且我必须使用我现在拥有的内容。

{
    "0":{
        "id":0,
        "value":{
            "id":2,
            "value":"Vehicle Battery Connection Removed",
            "title":"Vehicle Battery Connection Removed"
        },
        "title":{
            "id":2,
            "value":"Vehicle Battery Connection Removed",
            "title":"Vehicle Battery Connection Removed"
        }
    },
    "1":{
        "id":1,
        "value":{
            "id":4,
            "value":"SOS",
            "title":"SOS"
        },
        "title":{
            "id":4,
            "value":"SOS",
            "title":"SOS"
        }
    },
    "2":{
        "id":2,
        "value":{
            "id":8,
            "value":"GPS Signal not valid",
            "title":"GPS Signal not valid"
        },
        "title":{
            "id":8,
            "value":"GPS Signal not valid",
            "title":"GPS Signal not valid"
        }
    },
    "status":1
}

这是用于保存数据的POJO(id,title,value):

public class CustomEventByProtocol
{
    public int id;
    public String title, value;

    @Override
    public String toString() { return value; }
}

以下是请求:

@GET("/get_events_by_protocol")
void getEventsByProtocolForDropdown(@Query("user_api_hash") String user_api_hash, @Query("lang") String lang, @Query("type") int type, @Query("protocol") String protocol, Callback<CustomEventsByProtocol> cb);

class CustomEventsByProtocol
{
    public ArrayList<CustomEventByProtocol> list;
    // HOW TO POPULATE THiS LIST?
}

0 个答案:

没有答案