0

我正在将 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;
4

1 回答 1

1

Jsonstringify方法以 json 格式返回一个值数组,例如["25","27","28"]. 但要转换为列表,您需要删除[]提交 CSV 值的字符。因为只有 CSV 值可以转换为列表。尝试

data: {ids: JSON.stringify(ids).replace(/[\[\]]/g,'')},
于 2015-08-06T08:56:48.737 回答