使用 Retrofit 将无密钥 JSON 存储到 Realm 中



我想使用 Retrofit 将以下 JSON 从在线 API 直接保存到 Realm 中。我正在努力定义模型,因为没有键并且值是动态的。

杰森:

{
"Plants": {
"Green": [
"Ascia",
"Musca Arabica"
...
],
"Yellow": [
"Campona",
"Zirata",
...
],
...
}
}

这甚至可行吗?我知道我可以使用Map<String, Map<String, Set<String>>>,但是制作 Realm 模型会给我带来麻烦。

你可以完全展平它。

public class Data extends RealmObject {
@PrimaryKey 
private String typeCategoryName; // "Plants_Green_Ascia"
@Index
private String type; // "Plants"
@Index
private String category; // "Green"
private String name; // "Ascia"
}

然后你可以像

RealmResults<Data> data = realm.where(Data.class)
.equalTo("type", "Plants")
.equalTo("category", "Green")
.findAll();

最新更新