当前位置: 首页 > 知识库问答 >
问题:

从嵌套对象字段映射主键

寿翰飞
2023-03-14

我有一个带有对象的RealmObject类,它实际上是PrimaryKey作为这个对象中的字符串。但不允许将对象作为主键。

public class Model extends RealmObject {
    @PrimaryKey
    private Id _id;
    ...
}

public class Id extends RealmObject {
    private String id; // the primary key for the class Model
    ...
}

因为目前不可能更改服务器的响应结构,所以我尝试了不同的方法来解决这个问题。但到目前为止,没有一个奏效。我在Android Studio中使用“io.realm:realm-gradle-plugin:0.87.2”作为和“realm-android”插件。

public class Model extends RealmObject {
    @PrimaryKey
    private String id;
    private Id _id;

    public String getId() {
        return _id.getId();
    }
    ...
}
public class Model extends RealmObject {
    @PrimaryKey
    @SerializedName("_id.id")
    private String id;
    private Id _id;
    ...
}

谢谢beeender的回答!它是工作,但如果有人有一个更好的解决方案,你是欢迎的。

            JSONArray jsonArray = null;
            try {
                jsonArray = new JSONArray(total.toString());
                for(int i = 0; i < jsonArray.length(); i++) {
                    JSONObject jsonObject = jsonArray.getJSONObject(i);
                    String id = jsonObject.getJSONObject("_id").getString("id");
                    jsonObject.put("id", id);
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }

共有1个答案

高森
2023-03-14

谢谢beeender的回答!它是工作,但如果有人有一个更好的解决方案,你是欢迎的。

        JSONArray jsonArray = null;
        try {
            jsonArray = new JSONArray(total.toString());
            for(int i = 0; i < jsonArray.length(); i++) {
                JSONObject jsonObject = jsonArray.getJSONObject(i);
                String id = jsonObject.getJSONObject("_id").getString("id");
                jsonObject.put("id", id);
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
 类似资料:
  • 这是我的DTO: 这是我的实体: 我想配置我的ModelMapper将Tag#id映射到TagVolumeDTO#idTag。这可能吗?

  • 假设我有这些实体: null

  • 我创建映射如下所示。如何将平面dto对象属性(街道、城市等)映射到域对象中的嵌套地址。当我试着去做的时候,我发现了一个错误: [错误]诊断:返回类型中的属性“Address.PostalCode”未知。@Mapping(来源=“City”,目标=“Address.City”), 还有类...

  • 我想映射到产品字段,而不创建类 应该如何序列化和反序列化?

  • 我有一个对象,我正试图映射到。现在这个有一个名为的枚举,其中包含一些值。我想使用将它们映射到中的其他枚举值。以下是我到目前为止的代码: 当我尝试编译它时,我得到了错误:

  • 假设我有包含以下字段的传入对象: 还有更多的字段可以转换为我的DTO: ,但我想以自定义的方式映射这两个: 这意味着我只需要编写一个方法来将的几个字段转换为嵌套的DTO对象。我该怎么做呢? Upd:我不介意只将转换后的参数传递给方法: 那就更好了。