为嵌套的JSON for Retrofit创建POJO

时间:2016-05-13 10:23:43

标签: java json gson retrofit pojo

我正在尝试为以下JSON创建POJO。

{
  "key1":"value1",
  "key2":"value2",
  "hashmap":
  {
     "1":"val"
     "2":"val"
     ...
     "n":"val"
  }
}

现在我试过的POJO是

public class MyPOJO{
  @SerializedName{"key1"}
  @Expose
  private String key1;

  @SerializedName{"key2"}
  @Expose
  private String key2;

  @SerializedName{"hashmap"}
  @Expose
  private HashMap<String,String> hMap;

}

问题是hashmap没有被序列化。当类被序列化时,它会被忽略。

这就是我在Retrofit中使用该类的方法。

@POST("/endpoint/")
void foo(@Body MyPojo, Callback<Response> callback);

我遇到的一个建议是使用内部类而不是Hashmap。但我的键是动态的,我不能为每个键定义变量。我需要将Hashmap序列化。

2 个答案:

答案 0 :(得分:0)

http://www.jsonschema2pojo.org/使用此网站从json

生成pojo

答案 1 :(得分:0)

也许你应该看看改装转换器并使用支持地图的转换器。

或使用自定义转换器。

相关问题