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

WBOY
풀어 주다: 2016-05-16 17:08:36
원래의
831명이 탐색했습니다.

개발 과정에서 프런트엔드와 백엔드에 소수의 매개변수를 전송하고 싶다면, 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을 문자열로 변환합니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿