>  기사  >  웹 프론트엔드  >  JSON 개체와 strings_jquery 간 구문 분석 및 변환

JSON 개체와 strings_jquery 간 구문 분석 및 변환

WBOY
WBOY원래의
2016-05-16 17:08:36802검색

개발 과정에서 프런트엔드와 백엔드에 소수의 매개변수를 전송하고 싶다면, ajax의 데이터 기능을 직접 사용하고, json 형식으로 전달하고, 백그라운드 Request를 사용할 수도 있습니다. 여러 매개변수를 전달해야 하므로 배경

요청 수락 시 여러 번 요청하는 것은 번거롭습니다. 이때 클래스 또는 컬렉션 형식으로 전달해야 합니다.


예: 프런트엔드는 JSON 개체를 클래스 형식으로 전달합니다.

var jsonUserInfo = "{"TUserName":"" userName "","TInterest":""interest "","TSex":"" sex "","TCity":"" city "","TDetail ":"" 세부정보 ""}";

jsonUserInfo를 이스케이프 기호 없이 입력한 경우 전달하기 전에 var jsonArrayFinal = JSON.stringify(jsonArray);를 변환해야 합니다.

코드 복사 코드는 다음과 같습니다.

$.ajax(
유형: "post",
url: "ReceiveHandler1.ashx",
데이터: { userInfo: jsonUserInfo, 플래그: "123456", 키: "654321" },
데이터 유형: "text",
🎜>

프런트엔드가 여러 클래스 형식 JSON 배열을 전달하는 경우, 즉 컬렉션 유형:

예:
[{"name":"a"},{"name","b"},{"name","c"}], 이 경우 JSON.stringify를 사용해야 합니다. 배열 객체를 문자열로 변환한 다음 AJAX를 통해 전달합니다.
예를 들어, a를 문자열로 변환하고 b를 JSON 개체로 변환하려는 두 개의 변수가 있습니다.

var a={"name":"tom","sex":"male","age":"24"}

var b='{"name":"Mike","sex ":"여성","나이":"29"}';

Firefox, chrome, Opera, safari, ie9, ie8 등 고급 브라우저에서는 JSON 객체의 stringify(),parse() 메소드를 직접 사용할 수 있습니다.

JSON.stringify(obj)는 JSON을 문자열로 변환합니다. JSON.parse(string)은 문자열을 JSON 형식으로 변환합니다.

위 변환은 다음과 같이 작성할 수 있습니다.

var a={"name":"tom","sex":"male","age":"24"}

var b= '{ "name":"Mike","sex":"女","age":"29"}'

var aToStr=JSON.stringify(a)

var bToObj=JSON.parse (b );

alert(typeof(aToStr)); //string
alert(typeof(bToObj));
JSON.stringify()

ie8(호환 모드), ie7, ie6에는 JSON 개체가 없지만
http://www.json.org/js.html
에서는 json.js를 제공하므로 ie8(호환 모드) , IE7 및 IE6은 JSON 개체와 해당 stringify() 및 구문 분석() 메서드를 지원할 수 있습니다. 현재 일반적으로 json2.js를 사용하여 https://github.com/douglascrockford/JSON-js에서 이 js를 얻을 수 있습니다.

ie8(호환 모드), ie7 및 ie6은 eval()을 사용하여 문자열을 JSON 객체로 변환할 수 있습니다.

var c='{"name":"Mike","sex":"女","age":"29"}' var cToObj=eval("(" c ")") ; alert(typeof(cToObj))

jQuery에는 문자열을 JSON 형식으로 변환하는 메서드인 jQuery.parseJSON(json)도 있습니다. 이 메서드는 표준 형식 JSON 문자열을 허용하고 구문 분석된 JavaScript(JSON) 개체를 반환합니다. 물론 관심이 있다면 jQuery 확장을 직접 캡슐화할 수 있습니다. jQuery.stringifyJSON(obj)은 JSON을 문자열로 변환합니다.

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