ホームページ >ウェブフロントエンド >jsチュートリアル >js配列をjsonに変換し、background_javascriptスキルで解析する具体的な実装

js配列をjsonに変換し、background_javascriptスキルで解析する具体的な実装

WBOY
WBOYオリジナル
2016-05-16 17:13:481235ブラウズ

js で取得した配列をバックエンドに直接渡すと、js 配列が 2 次元の場合次のようになるため、バックエンドは配列を区別できません。 : 1、チャン・サン、23、2、ジョン・ドゥ、26

それでは解決策をご紹介します。皆様のお役に立てれば幸いです

まず、配列を js で json 形式に変換する必要があります

js コードは次のとおりです:

コードをコピー コードは次のとおりです:

/**
*js 配列を json に変換
*
*/
function arrayToJson(o) {
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 o)
r.push(i ":" arrayToJson(o[i]));
if (!!document.all && !/^/n?function/s*toString/(/)/s*/ {/n ?/s*/[ネイティブ コード/]/n?/s*/}/n?/s*$/.test(o.toString)) {
r.push("toString:" o .toString.toString());
}
r = "{" r.join() "}";
} else {
for (var i = 0; i r.push(arrayToJson(o[i]));
}
r = "[" r.join() "]"; r;
}
return o.toString();
}


次に、文字列を Java のバックグラウンド js
で json に変換します。

com.alibaba.fastjson.JSONArray mainArray= JSON.parseArray (info.getMainparame());
log.debug("配列サイズ:" mainArray.size());
for(int i=0;i< mainArray.size();i ) {
QybjProduceParam p=new QybjProduceParam(); 1) .toString());
p.setParamevalue(paramObject.get(2).toString() );

パラメータ。 add(p);
}
info.setParams(params );


Java コードから、2 回変換されたことがわかります。毎回 JSONArray オブジェクトに変換されます。

1 次元配列の場合、変換されるのは 1 回だけです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。