使用Retrofit将JSON属性简单自定义映射到对象属性

3
什么是在RetroFit中定义JSON属性到特定对象属性的最简单方法?
以下是一组“奖励”的示例JSON响应:
[
  {
    "name" : "$5 Voucher",
    "description" : "Get $5 off your next purchase",
    "assets" : {
      "icon" : "icon.png"
    }
  }
]

我的安卓项目中的奖励类:
public class Reward {
  @SerializedName("name")
  private String name;

  @SerializedName("description")
  private String description;

  @SerializedName("icon")
  private String icon;
}

因为名称和描述与服务器响应是一一对应的,RetroFit没有问题执行映射,但是“icon”为空,因为我无法将assets.icon的自定义路径映射到icon
在iOS的RestKit库中,一个基本功能是定义自定义对象映射,它允许您使用一些键/值对轻松地定义这些映射。RetroFit中是否存在类似的东西?我看到的每个解决方案似乎都涉及大量额外的代码来制作自定义转换器。难道没有更简单的方法吗?
1个回答

2

试试这个:

class Reward {
    String name;
    String description;
    Asset assets;

    class Asset {
        String icon;
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接