ArrayList<HashMap<String, String> 使用 Cloud Endpoints?

ArrayList<HashMap<String, String> working with Cloud Endpoints?

我使用 java 通过 Google Cloud Endpoints 和 Datastore 对 API 进行编程。我刚刚添加了 ArrayList<HashMap<String, String>> 作为我的一个实体的字段,但 Cloud Endpoints 似乎无法识别它。我使用 Objectify 框架。

起初我注意到一些 NullPointerException 因为它而发生,然后我发现数据存储查看器甚至没有提到该字段。

数据存储不支持这种类型吗?

使用 Objectify 您可以存储任何 POJO,您可以使用开发者控制台检查该字段是否出现吗?

顺便说一句,Cloud Endpoint 可以 return 任何对象(但不是原始对象,例如 intboolean).所以在这件事上不会有问题。

数据存储区和云端点编组器都应支持该字段。请记住,空集合在数据存储区 上存储为空值。

如果实体存储在空集合中,您必须在检索时初始化集合。

话虽如此,我同意@QPaysTaxes 的建议,但从长远来看,运行 如果将其包装到 POJO 中,您会省去很多痛苦。哪个 BTW 可以通过 ID 引用,而不必到处复制数据。