如何将数组从javascript转换为java数组?
我有以下javascript代码:如何将数组从javascript转换为java数组?,java,javascript,ajax,json,Java,Javascript,Ajax,Json,我有以下javascript代码: $.ajax({ url: 'assignRenameRuleToAgency.do', data: {agenciesId:agenciesId,ruleId: JSON.stringify ( ruleIDd ) }, success: function(response) { toastr.success(response.message); } }) 在服务器端,我执行了以下操作: St
$.ajax({
url: 'assignRenameRuleToAgency.do',
data: {agenciesId:agenciesId,ruleId: JSON.stringify ( ruleIDd ) },
success: function(response) {
toastr.success(response.message);
}
})
在服务器端,我执行了以下操作:
String ruleId = request.getParameter("ruleId");
String[] agenciesId = request.getParameterValues("agenciesId");
ruleId正确,但agenciesId为空。它是单个字符串,不是数组!您可以将结构更改为
agenciesId: [agenciesId]
然后它将是一个数组
不过,我会将JSON消息映射到单个POJO,例如使用。从ajax调用获取JSON响应,然后使用以下解决方案将该JSON响应转换为Java对象。 如果可以按照您描述的方式接收ruleId的参数,则应使用以下方法:
String ruleId = request.getParameter("ruleId");
String agenciesId = request.getParameter("agenciesId");
我找到了解决办法:
String[] myJsonData = request.getParameterValues("json[]");
我尝试了:data:{agenciesId:[agenciesId],ruleId:JSON.stringify ruleIDd},但是allways request.getParameterValuesagenciesId;return nullSo agenciesId是JavaScript数组吗?如果是这样的话,请告诉我们如何执行JSON反序列化。那么,agenciesId不就是一个与ruleId相同的参数吗?你不能直接调用request.getParameteragenciesId吗?你试过@wassgren的建议吗?agenciesId是ajax中的一个数组,我也这么做了,但总是空的