>웹 프론트엔드 >JS 튜토리얼 >JSON 개체와 문자열 간 구문 분석 및 변환

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

高洛峰
高洛峰원래의
2017-02-17 16:42:11961검색

이 글은 주로 JSON 객체와 문자열 간의 변환에 대해 자세히 소개하고 있으니 필요한 친구들이 와서 참고하면 좋을 것 같습니다.

개발 과정에서 원하시면 소수의 매개변수를 앞뒤로 전달하려면 ajax 데이터 함수를 직접 사용하여 json 형식으로 전달하고 백그라운드 요청을 사용하면 됩니다. 그러나 때로는 여러 매개변수를 전달해야 하므로 백그라운드

수락 이때 여러 요청을 클래스나 컬렉션 형태로 전달해야 하기 때문에 번거롭습니다.


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

var jsonUserInfo = "{"TUserName":"" + userName + "","TInterest":"" + 관심 + "","TSex":"" + 섹스 + "","TCity":"" + 도시 + "","TDetail":"" + 세부정보 + ""}";

예를 들어 철자된 jsonUserInfo에는 이스케이프 기호가 없으며 전달하기 전에 var jsonArrayFinal = JSON.stringify(jsonArray);로 변환해야 합니다.

다음과 같이 코드를 복사하세요.


$.ajax(
                                       ​​​​​​ url: "ReceiveHandler1.ashx" ,
데이터: { userInfo: jsonUserInfo, 플래그: "123456", 키: "654321" },
dataType: "text",
성공: function(data) {
                                            pShow").html(data);
                                                                                                            
예:

[{"name":"a"},{"name","b"},{"name","c"}], 그럴 수 없습니다. 전달되어야 하며 JSON.stringify를 사용하여 배열 객체를 문자열로 변환한 다음 AJAX를 통해 전달해야 합니다.

예를 들어, a를 문자열로 변환하고 b를 JSON 객체로 변환하려는 두 개의 변수가 있습니다.


var a={"name":"tom","sex" :"남성","나이":"24"};

var b='{"name":"마이크","sex":"여성","age":"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
ie8(호환성 모드), ie7 및 ie6이 JSON 개체와 해당 stringify() 및 구문 분석() 메서드를 지원할 수 있도록 하나의 json.js를 제공합니다. 일반적으로 http://www.php.cn/에서 이 js를 얻을 수 있습니다. 이제 json2.js를 사용하세요.

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

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

var cToObj=eval("("+c+")");

alert(typeof(cToObj));

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

JSON 개체 및 문자열 구문 분석 및 변환과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

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