>  기사  >  웹 프론트엔드  >  js 배열을 json으로 변환하고 background_javascript 기술로 구문 분석하는 구체적인 구현

js 배열을 json으로 변환하고 background_javascript 기술로 구문 분석하는 구체적인 구현

WBOY
WBOY원래의
2016-05-16 17:13:481221검색

개발 과정에서 모든 사람이 비슷한 문제에 직면했다고 생각합니다. js에서 얻은 배열이 백엔드에 직접 전달되면 백엔드는 배열을 구별할 수 없습니다. js 배열이 2차원이면 다음과 같기 때문입니다. : 1, Zhang San, 23,2,John Doe,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 < o. length; i ) {
r.push(arrayToJson(o[i]));
}
r = "[" r.join() "]"
}
return 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();
                                                      

매개변수. add(p);
}
info.setParams(params );


두 번 변환된 것을 Java 코드에서 확인하는 것은 어렵지 않습니다. JSONArray 객체로 변환될 때마다.

1차원 배열인 경우 한 번만 변환됩니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.