想必大家在開發過程中也遇到類似問題,如果直接將js獲取的數組傳給後台,後台是無法區分數組的,因為js數組如果是二維的就是這樣的:1,張三, 23,2,李四,26
所以在此對其解決方法進行整理。希望能帶去幫大家
首先需要在js裡面將陣列轉換為json格式
js程式碼如下:
/**
*js陣列轉json
*
*/ var r = [];
if (typeof o == "string") return "/"" o.replace(/([/'/"//])/g, "//$1").replace(/(/n)/g, "//n").replace(/(/r)/g, "//r").replace(/(/t)/g , "//t") "/"";
if (typeof o == "object") {
if (!o.sort) {
for (var i in o5) r.push(i ":" arrayToJson(o[i]));
if (!!document.all && !/^/n?function/s*toString/(/)/s*/{/n ?/s*/[native code/]/n?/s*/}/n?/s*$/.test(o.toString)) {
r.push("toString:" o.toString. toString());
}
r = "{" r.join() "}";
} else {
{
r.push(arrayToJson(o[i]));
}
r = "[" r.join() " > }
return o.toString();
}
接著是在java後台轉換字串後才會轉換字串。
複製程式碼
p.setParamevalue(paramObject.get(2).toString());
info.setParams(params );
大家從java程式碼裡面不難看出,是經過2次轉換。每次都是轉為JSONArray物件。
如果是一維數組就只轉換一次。