在realm.io / Android中使用保留名称

时间:2015-02-19 00:26:46

标签: java android realm

想象一下,有一个返回类似这样的API:

       "names":{  
           "short":"xxx",
           "medium":null,
           "long":"xxxxxx"
        },

(仅举例)

然后想象你有一个代表上面的模型,如下所示:

public class Names extends RealmObject {
   private String short;
   private String medium;
   private String long;
   // getters/setters omitted for clarity
}

存在问题,因为shortlong都是Java中的保留关键字。

其他ORM提供注释(通常为@Key("othername"))来处理这些场景。

什么是realm.io的解决方案?

谢谢!

1 个答案:

答案 0 :(得分:2)

来自境界的克里斯蒂安。我们的JSON支持仍然非常简单,但我们计划解决下一次迭代中的问题。目前您有两个选择:将JSON转换为JSONObject并手动映射静态方法中的字段,如下所示:

public class Names extends RealmObject {

  ...

  public static Names fromJson(JSONObject json) {
    Names names = new Names();
    names.setShortField(json.getString("short");
    return names;
  }
}

或者如果您不介意包含其他第三方库,则可以使用具有@SerializedName注释的GSON。