使用Jackson将数组从javascript传递到java servlet

我试图使用jackson将数组从javascript传递给java servlet,如何做到这一点。谢谢

基本想法应该是直截了当的:

服务器:

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' }); 

要将数组从浏览器传递到服务器端,您不需要Jackson。 你只需要Ajax。 例如,使用jQuery,您可以这样做:

 $.ajax({ url: 'your servlet url', data: yourArray }); 

然后在服务器端,您可能希望将JSON反序列化为JavaBean,或者在您的情况下,使用Jackson将java.util.List反序列化。 你可以这样做:

 ObjectMapper mapper = new ObjectMapper(); List array = mapper.readValue(jsonText, List.class); 

其中jsonText包含从浏览器发送到服务器端的yourArray的String表示forms。