jsonオブジェクトをajax経由でJavaサーブレットに送信しています。jsonオブジェクトは、配列を指す3つのキーと、単一の文字列を指すキーを持つKey-Valueタイプです。私はそれを次のようにJavaScriptで構築します:
var jsonObject = {"arrayOne": arrayOne, "arrayTwo": arrayTwo, "arrayThree": arrThree, "string": stringVar};
次に、次のようにajaxを使用してJavaサーブレットに送信します。
httpRequest.open('POST', url, true);
httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
httpRequest.setRequestHeader("Connection", "close");
var jsonString = jsonObject.toJSONString();
httpRequest.send(jsonString);
これにより文字列がサーブレットに送信されますが、期待どおりに表示されません。json文字列全体が、リクエストのパラメータの1つの名前に設定されます。したがって、サーブレットでrequest.getParameterNames();を実行するとします。これは、テーブルエントリのキーの1つを含む列挙を返し、オブジェクトの内容全体になります。誤解されているかもしれませんが、各キーを異なるパラメータ名に設定する必要があると思いました。したがって、arrayOne、arrayTwo、arrayThree、およびstringの4つのパラメーターが必要です。私は何か間違ったことをしているのですか、それともここで考えているのですか?どんな助けでも大歓迎です。
ありがとう