【发布时间】:2018-03-26 11:20:19
【问题描述】:
我需要从设计不佳的 Web API 中获取数据,该 API 以 JSON 对象的形式返回对象列表:
{
"29593": { ..object to parse },
"29594": { ..object to parse },
"29600": { ..object to parse }
}
我需要为此响应创建POJO,但问题是这些整数正在发生变化,它们就像对象 ID。我不知道如何从JSON 键中提取这些整数,然后在另一个POJO 类中进一步使用内部JSON 对象(当键具有固定值时,我知道基本Gson 映射)。
有可能吗?
【问题讨论】:
-
是的。可以,但不能与 Retrofit/Gson 一起使用
-
我觉得你用 Gson 做不到,也许 Moshi 可以帮忙
-
@VinayakB - 让我纠正你,她可以使用 Retrofit,但用于获取原始 JSON 响应。之后,将需要自定义解析选项。
-
您可以使用
ObjectMapper将您的JSONObject更改为HashMap<Integer, Object>。然后迭代键..并按照您的意愿执行..谢谢... -
所以基本上,我需要手动解析它吗?好的,但即使使用 JSONObject obj = new JSONObject(RESPONSE_BODY);字符串 innerObj= obj.getJSONObject("KEY") ;我需要事先知道 KEY:/
标签: java android gson retrofit2