繁体   English   中英

使用Jackson将数组从JavaScript传递到Java Servlet

[英]Passing array from javascript to java servlet using 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,或者在你的情况下, java.util.List使用杰克逊。 您可以这样进行:

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

其中jsonText包含从浏览器发送到服务器端的yourArray的字符串表示形式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM