【问题标题】:Create a POJO for a nested JSON for Retrofit为 Retrofit 的嵌套 JSON 创建 POJO
【发布时间】:2016-09-09 12:07:57
【问题描述】:

我正在尝试为以下 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;

}

问题是哈希映射没有被序列化。当类被序列化时它会被忽略。

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

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

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

【问题讨论】:

    标签: java json gson retrofit pojo


    【解决方案1】:

    http://www.jsonschema2pojo.org/使用本网站从json生成pojo

    【讨论】:

    • 不行,我的 hashmap 键是动态的。不固定。仅供参考,否则我使用 jsonschema2pojo 创建我的 POJO。
    【解决方案2】:

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

    或者使用自定义转换器。

    【讨论】:

      猜你喜欢
      • 2016-04-27
      • 1970-01-01
      • 2014-04-08
      • 1970-01-01
      • 2016-08-28
      • 2018-04-02
      • 2021-06-02
      • 2018-10-17
      • 2020-10-11
      相关资源
      最近更新 更多