我在我的 Android 应用程序中使用 Couchbase Lite。在应用程序中,我从要在本地存储的服务器检索一堆 Json 对象。但我似乎无法找到一种方法来做到这一点,而无需事先将它们序列化为 HashMap。由于数据无论如何都存储为 Json,这会导致不必要的开销并导致大量样板代码。
如果我应该更具体一点,这是我获取的一种 Json:
"events":[
{
"title":"event1",
"venue":{
"name":"venue1"
}
]
我使用 Gson 将数组中的内容转换为 POJO:
public final class Event {
@SerializedName("title") private String title;
@SerializedName("venue") private Venue venue;
public static final class Venue {
@SerializedName("name") private String name;
public Map<String, Object> toMap() {
Map<String, Object> docContent = new HashMap<String, Object>();
docContent.put("name", name);
return docContent;
}
}
public Map<String, Object> toMap() {
Map<String, Object> docContent = new HashMap<String, Object>();
docContent.put("title", title);
docContent.put("venue", venue.toMap());
return docContent;
}
// getters left out
}
然后我使用 Java 对象来存储它:
Document document = database.createDocument();
document.putProperties(event.toMap());
嵌入更深,领域也更多。我觉得一定有办法让事情变得更容易。
感谢您的任何提示!