0

投稿リクエストで XHR 経由で JSON メッセージを送信しています (コンテンツ タイプ: application/json; charset=UTF-8 - 私は firefox/chrome を使用しています)。
ただし、play 1,.2.3 コントローラーで JSON メッセージを処理/受信できません。おそらくパイロット エラーが原因です。洞察/実用的な例をいただければ幸いです-ありがとう

JSON メッセージ (JSONLint で正常に検証されます):

{"email":"admin1@test.com","password":"admin123"}

TypeBinder を見るべきですか、それともリクエスト パラメータからオブジェクトを作成するべきですか?

4

3 に答える 3

1

play に組み込まれている gson を使用して、パラメーターを解析できます。コントローラーメソッドで

MyParam myParam = new GsonBuilder().create().fromJson(request.params.get("myParam"), MyParam.class);
于 2012-10-03T06:43:45.940 に答える
1

FLEXJSON ( http://flexjson.sourceforge.net/ ) を使用して、循環ループ エラーが発生しないようにすることもできます。

于 2012-10-03T14:55:25.720 に答える
0

request.params.get を介して値を取得するために、request.params.allSimple を反復処理することになりました。この値に対して JsonParser().parse を使用して、JSONElement を取得しました。次に、JSONElement で getAsJsonObject() を使用して JSONBody を取得しました。JSONBody で get を呼び出し、次に getAs メソッドを呼び出して実際の値を取得することで、必要な JSONElements を取得しました。TypeBinders をさらに詳しく調査します。その他の提案は大歓迎です。

于 2012-10-01T21:54:34.707 に答える