2011-07-16 8 views
0

このコードを実行しようとしましたが、NULL例外が発生します。Json Entity List with Play Framework

Javaコード:

public static void updateData(List<Users> users){ 
    for(Users u : users){ //Erros 
     System.out.println(u.name); // Error 
    } 
} 

ExtJSのコード:

proxy: { 
    type: 'ajax', 

    api: { 
     update: '/Application/updateData' 
    }, 
    reader: { 
     type: 'json', 
     root: 'users', 
     successProperty: 'success' 
    } 
}  

JSON配列:

[{"name":"Ed","email":"[email protected]"},{"name":"Ez","email":"[email protected]"}] 

プレイFramework上でエンティティリストにJSON配列をバインドする方法を教えてください1.2.2。

+0

この種類のバインダーを試しましたか? http://www.playframework.org/community/snippets/6 – mandubian

答えて

1

あなたはあなたは全体のJSON文字列を読み取ることができますし、あなたのメソッドのパラメータを変更する場合:

public static void updateData(String body){ 

私は、JSONレスポンスをデシリアライズするGSONを(!再生同じLIBを使用しています)を使用します例:

Gson gson = new Gson(); 
User user = gson.fromJson(body, User.class); 

私にとっては、これはうまくいきますが、これは最良の方法ではないかもしれません。

乾杯。

EDIT: は、私はちょうどあなたが常に配列の必要はので、あなたのExtJSのコードに追加していない一つのオブジェクトを返す場合、あなたのExtJSには、配列に包まれた1つのオブジェクトを返していることがわかりました(あなたはExtJSの4を使用している場合):

allowSingle: false