假设一个元素数组以 json 形式到达,每个元素都有一个名称和一个值。{"AAA":4.523703,"BBB":85.195162}. 让我们建立一个 POJO 模型
@SerializedName("AAA")
@Expose
private Double AAA;
@SerializedName("BBB")
@Expose
private Double BBB;
但最后我需要listView在一行中显示名称和值,所以我需要Map. 是否可以retrofit 2使用注释来实现这一点?为了在Map<String, Double> AAA = new HashMap<>()
Maybe retrofit 2中得到准确的处理,或者你必须手动解析它。我知道如何手动完成。
问题更新
我正在提出请求
@GET("{date}")
Call<String> getData(@Path("date") String date, @Query("access_key") String accessKey);
如您所见,我正在尝试获取一个字符串,我希望原始 json 来解析自己。我没能做到这一点。理论上,我根本不应该使用任何转换器,但如果我关闭转换器,我会遇到异常。这是第一个问题。第二个问题是如何不自己解析,而是使用POJO模型。最终,您需要一个 HashMap,其中
AAA = 4.523703
BBB = 85.195162
什么对象应该在Call<>
当您需要获取“原始”字符串时 - 使用标准
ResponseBody:我们得到:
String rawJson = response.body().string()如果我们想立即得到它
HashMap并且 json 对象只包含相同类型的字段,我们HashMap将它与GsonConverter:我们得到:
HashMap<String, Double> map = response.body();