ジャクソンを使用してJavaサーブレットにJavaScriptからの配列を渡します
-
26-09-2019 - |
質問
イム・ジャクソンを使用してJavaサーブレットへのJavaScriptからの配列を渡そうとし、これはdone..thanks
がいかに解決
基本的な考え方は単純である必要があります:
サーバー:
doPost(HttpServletRequest req, HttpServletResponse resp)
{
ObjectMapper mapper = new ObjectMapper();
ArrayNode rootNode = mapper.readValue(req.getReader(), ArrayNode.class);
}
クライアント:
のjQueryを使用して(あなたはまた、他のフレームワークでそれを行う、または手動ですることができます)。あなたが持っていることを確認するために json2.jsするのコピーをロードしますJSON.stringifyます。
jQuery.ajax({
type: 'POST',
url: servletURL,
data: JSON.stringify(jsArray),
dataType: 'json',
contentType: 'application/json'
});
他のヒント
は、サーバー側にブラウザから配列を渡すために、あなたは、ジャクソンは必要ありません。あなただけのAjaxを必要としています。例えば、jQueryの使用あなたはこのようにそれを行うことができます:
$.ajax({
url: 'your servlet url',
data: yourArray
});
次に、サーバ側では、あなたの場合はJavaBeanのか、ジャクソンを使用してjava.util.List
にJSONをデシリアライズする場合があります。あなたは、この方法を行うことができます:
ObjectMapper mapper = new ObjectMapper();
List array = mapper.readValue(jsonText, List.class);
jsonText
は、ブラウザからサーバ側に送信されyourArray
の文字列表現が含まれています。
所属していません StackOverflow