当返回的对象之一可能是集合但并非总是如此时,是否可以使用 GWT AutoBeans 解析 JSON 消息?
例如,如果我有一条返回作者及其相关著作的 JSON 消息,则可能返回零或多本书。
{ "name" : "William Gibson", "books" : { bookname : "Neuromancer" } }
可能是一种回应,但也可能是这样:
{ "name" : "William Gibson", "books" : [ { bookname: "Neuromancer"}, { bookname : "Pattern Recognition" } ] }
当我尝试使用用于编组 AutoBean 的接口对此进行建模时,如果只返回一本书,我会收到“预期索引数据”错误。
AutoBean 的接口:
public interface Author {
@PropertyName(value="name")
String getAuthorName();
@PropertyName(value="book")
List<String> getBooks();
}
错误片段:
java.lang.AssertionError: Expecting indexed data
at com.google.web.bindery.autobean.shared.impl.SplittableList.<init>(SplittableList.java:64)
这对 AutoBeans 来说是不可能的吗?
(注:使用 GWT 2.5.0 GA)