【发布时间】:2014-07-21 13:41:02
【问题描述】:
我最近决定重写我的一个较旧的 android 应用程序,但我不知道如何像这样转换服务器响应:
{
"response": "SUCCESS",
"data": {
"0": {
... fields ...
},
"1": {
... fields ...
},
... another objects
}
}
到普通的 java 对象(或者在这种情况下是对象列表)。我以前使用过这种方法:
JSONObject response = new JSONObject(stringResponse);
JSONObject dataList = response.getJSONObject("data");
int i = 0;
while (true) {
dataList.getJSONObject(String.valueOf(i)); // here I get wanted object
i++;
}
获取相关对象,然后我可以将它们放入 List,但现在我正在使用 Retrofit 库,我无法找到任何干净的解决方案来使用 gson 和改造。
感谢您的帮助。
编辑:我想要什么:
像这样使用改造发送请求:
@GET("/some params")
void restCall(... another params..., Callback<Response> callback);
然后在 Response 对象中有对象列表。我不知道的是如何声明 Response 对象,这样它就可以将那个奇怪的响应转换为普通的对象列表。
【问题讨论】:
-
我会推荐使用json序列化库,比如
google gson -
我已经提到我正在使用 gson,但我不知道如何解析那个奇怪的结构。您通常会得到对象数组,而不是像 map 那样的 "1":{},"2":{},...我只是不知道如何解析这个
标签: java android json gson retrofit