返されたオブジェクトの 1 つがコレクションである可能性があるが常にそうではない場合、GWT AutoBeans を使用して JSON メッセージを解析することは可能ですか?
たとえば、著者とその関連著作を返す JSON メッセージがある場合、返される本が 0 個以上ある可能性があります。
{ "name" : "William Gibson", "books" : { bookname : "Neuromancer" } }
1つの応答である可能性がありますが、これも可能です:
{ "name" : "William Gibson", "books" : [ { bookname: "Neuromancer"}, { bookname : "Pattern Recognition" } ] }
AutoBean でのマーシャリングに使用するインターフェイスでこれをモデル化しようとすると、返される本が 1 つだけの場合、「索引付けされたデータを予期しています」というエラーが発生します。
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 を使用)