我将json数组数据从JSP发送到Action类,我已经包含了struts2-json-plugin
。
我想解析它作为ArrayList
元素接收它。
我的代码是
在JSP中:
$.ajax({
url: "UpdateNotification",
dataType: "json",
data: {ids: JSON.stringify(ids)},
success: function(data) {
alert("success " + data.st);
}
})
在行动中:
public class Test extends ActionSupport {
ArrayList<String> ids = new ArrayList<String>();
public ArrayList<String> getIds() {
return ids;
}
public void setIds(ArrayList<String> ids) {
this.ids = ids;
}
public String updateNotification() {
System.out.println("ID ARE " + getIds());
for (String a : getIds()) {
System.out.println("data " + a);
}
}
}
在运行时,它显示数据
ID ARE [["25","27","28"]]
data ["25","27","28"]
如何将一个数据作为一个数组元素运行。
编辑我正在尝试将数据作为
ids(0)=25;
ids(1)=27;
ids(2)=28;
答案 0 :(得分:1)
Json stringify
方法返回json格式的值数组,如["25","27","28"]
。但要转换为列表,您需要删除[
或]
个字符才能提交CSV值。因为只能将CSV值转换为列表。尝试
data: {ids: JSON.stringify(ids).replace(/[\[\]]/g,'')},