js數(shù)組轉(zhuǎn)json并在后臺(tái)對(duì)其解析具體實(shí)現(xiàn)
想必大家在開發(fā)過程中也遇到類似問題,如果直接將js獲取的數(shù)組傳給后臺(tái),后臺(tái)是無(wú)法區(qū)分?jǐn)?shù)組的,因?yàn)閖s數(shù)組如果是二維的就是這樣的:1,張三,23,2,李四,26
所以在此對(duì)其解決方法進(jìn)行整理。希望能給大家?guī)椭?/P>
首先需要在js里面對(duì)數(shù)組進(jìn)行轉(zhuǎn)換為json格式
js代碼如下:
/**
*js數(shù)組轉(zhuǎn)json
*
*/
function arrayToJson(o) {
var r = [];
if (typeof o == "string") return "/"" + o.replace(/([/'/"http://])/g, "http://$1").replace(/(/n)/g, "http://n").replace(/(/r)/g, "http://r").replace(/(/t)/g, "http://t") + "/"";
if (typeof o == "object") {
if (!o.sort) {
for (var i in o)
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 {
for (var i = 0; i < o.length; i++) {
r.push(arrayToJson(o[i]));
}
r = "[" + r.join() + "]";
}
return r;
}
return o.toString();
}
然后是在java后臺(tái)js該字符串后 對(duì)其進(jìn)行json轉(zhuǎn)換。
com.alibaba.fastjson.JSONArray mainArray=JSON.parseArray(info.getMainparame());
log.debug("數(shù)組大小:"+mainArray.size());
for(int i=0;i< mainArray.size();i++){
QybjProduceParam p=new QybjProduceParam();
com.alibaba.fastjson.JSONArray paramObject=(com.alibaba.fastjson.JSONArray)mainArray.get(i);
p.setParamename(paramObject.get(1).toString());
p.setParamevalue(paramObject.get(2).toString());
params.add(p);
}
info.setParams(params);
大家從java代碼里面 不難看出,是經(jīng)過2次轉(zhuǎn)換。每次都是轉(zhuǎn)為JSONArray對(duì)象。
如果是一維數(shù)組就只轉(zhuǎn)換一次。
- 小議Function.apply()之二------利用Apply的參數(shù)數(shù)組化來(lái)提高 JavaScript程序性能
- 使用apply方法處理數(shù)組的三個(gè)技巧[譯]
- JS解析json數(shù)據(jù)并將json字符串轉(zhuǎn)化為數(shù)組的實(shí)現(xiàn)方法
- 解析javascript 數(shù)組以及json元素的添加刪除
- jquery遍歷篩選數(shù)組的幾種方法和遍歷解析json對(duì)象
- js/jquery解析json和數(shù)組格式的方法詳解
- 關(guān)于JS數(shù)組追加數(shù)組采用push.apply的問題
- Jquery解析json字符串及json數(shù)組的方法
- 使用Function.apply()的參數(shù)數(shù)組化來(lái)提高 JavaScript程序性能的技巧
- Android解析json數(shù)組對(duì)象的方法及Apply和數(shù)組的三個(gè)技巧
相關(guān)文章
JavaScript使用DeviceOne開發(fā)實(shí)戰(zhàn)(一) 配置和起步
這篇文章主要介紹了JavaScript使用DeviceOne開發(fā)實(shí)戰(zhàn)(一) 配置和起步的相關(guān)資料,需要的朋友可以參考下2015-12-12基于Echarts 3.19 制作常用的圖形(非靜態(tài))
這篇文章主要介紹了基于Echarts 3.19 制作常用的圖形(非靜態(tài))的相關(guān)資料,需要的朋友可以參考下2016-05-05基于JS實(shí)現(xiàn)一個(gè)簡(jiǎn)單的投票demo
這篇文章主要介紹了如何利用JavaScript實(shí)現(xiàn)一個(gè)簡(jiǎn)單的投票demo,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)有一定參考價(jià)值,需要的可以參考一下2022-06-06javascript函數(shù)報(bào)Uncaught?ReferenceError:?XXX?is?not?define
本文主要介紹了javascript函數(shù)報(bào)Uncaught?ReferenceError:?XXX?is?not?defined,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07JavaScript屏蔽指定區(qū)域內(nèi)右鍵菜單
有時(shí)候需要屏蔽部分區(qū)域內(nèi)的右鍵菜單,下面的代碼大家可以測(cè)試下。2010-03-03Javascript實(shí)現(xiàn)多彩雪花從天降散落效果的方法
這篇文章主要介紹了Javascript實(shí)現(xiàn)多彩雪花從天降散落效果的方法,可實(shí)現(xiàn)雪花飄落及散開的效果,非常炫目華麗,需要的朋友可以參考下2015-02-02typescript基本數(shù)據(jù)類型HTMLElement與Element區(qū)別
這篇文章主要為大家介紹了typescript基本數(shù)據(jù)類型HTMLElement與Element區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11