現在、play framework 2.5 java 環境でajaxからpostされた多次元配列をcontroller側で受け取りたいと思っております。通常の1次元配列であれば以下のコードで受けることが可能です。
以下
String str = request().body().asFormUrlEncoded().get("keyname")[0];
どなたか2次元配列の受け取り方をご存知の方いらっしゃいましたらご教授いただけないでしょうか。
よろしくおねがいたします。
source
jaquery + ajax 側
$(function(){
$("#sendbtn").click( function(){
var jsondata = [
{
'name':$("#name").val(),
'area':$("#area").val(),
'email':$("#email").val(),
'detail':$("#detail").val(),
},
{
'imgFileInfo':imgFileInfo
}
]
$.post("/ajax",
jsondata,
function(result) {
............................................
},
"json"
);
})
})
playframework側
public Result ajax() {
//ここの処理はエラーにならないようです
JsonNode resourceFiles = request().body().asJson();
//こちらの処理もエラーにならないようです。
Map<String, String[]> form = request().body().asFormUrlEncoded();
//↓ここでエラーになる
String name = request().body().asFormUrlEncoded().get("name")[0];
String area = request().body().asFormUrlEncoded().get("area")[0];
String email = request().body().asFormUrlEncoded().get("email")[0];
String detail = request().body().asFormUrlEncoded().get("detail")[0];
やりたいこと
上記の処理でjson 2次元配列をパースし以下の変数に格納できるようにしたいです。
String name
String area
String email
String detail
File imgFileInfo
=>MySQLへ格納
よろしくお願いいたします。
あなたの回答
tips
プレビュー