我想使用 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();