首頁 >web前端 >js教程 >js數組轉json並在後台對其解析具體實作_javascript技巧

js數組轉json並在後台對其解析具體實作_javascript技巧

WBOY
WBOY原創
2016-05-16 17:13:481239瀏覽

想必大家在開發過程中也遇到類似問題,如果直接將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後台轉換字串後才會轉換字串。



複製程式碼

程式碼如下:com.alibabasmainjson.JiJ文本.JiJSON. (info.getMainparame());      log.debug("陣列大小:" mainArray.size());        for(int i=0;i           QybjProduceParam p=new QybjProduceParam();            com.alibaba.mmainjson.J.          p.setParamename(paramObject.get(1) .toString());
          p.setParamevalue(paramObject.get(2).toString());

          info.setParams(params );


大家從java程式碼裡面不難看出,是經過2次轉換。每次都是轉為JSONArray物件。

如果是一維數組就只轉換一次。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn