>웹 프론트엔드 >JS 튜토리얼 >JSON 객체와 문자열 간의 변환 예시에 대한 자세한 설명

JSON 객체와 문자열 간의 변환 예시에 대한 자세한 설명

零下一度
零下一度원래의
2018-05-18 11:27:512044검색

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

에서 이를 허용하도록 합니다. 이때 여러 요청을 클래스 또는 컬렉션 형태로 전달해야 합니다.

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

var jsonUserInfo = "{\"TUserName\":\"" + userName + "\",\"TInterest\":\"" + interest + "\",\"TSex\":\"" + sex + "\",\"TCity\":\"" + city + "\",\"TDetail\":\"" + detail + "\"}";

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

$.ajax(                    
{                        
type: "post",                        
url: "ReceiveHandler1.ashx",                        
data: { userInfo: jsonUserInfo, flag: "123456", key: "654321" },                        
dataType: "text",                        
success: function(data) {                            
$("#pShow").html(data);                       
 } });

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

예:

[{"name":"a"},{"name","b"},{"name","c"}]

, 이때는 JSON.stringify를 사용하여 배열을 변환해야 합니다. 객체를 문자열로 변환한 다음 AJAX를 수행하면 됩니다.

예를 들어, a를 문자열로, b를 JSON 개체로 변환하고 싶은 두 가지 변수가 있습니다.

var a={"name":"tom","sex":"男","age":"24"}; 
var b='{"name":"Mike","sex":"女","age":"29"}';

Firefox, chrome, Opera, Safari, ie9와 같은 고급 브라우저에서 JSON 개체를 직접 사용할 수 있습니다. ie8 등. stringify() 및 pars() 메소드.

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

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

var a={"name":"tom","sex":"男","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));
//object
JSON.stringify()

ie8(호환 모드), ie7 및 ie6에는 JSON 개체가 없지만 www.json.org/ js.html ie8(호환성 모드), ie7 및 ie6이 JSON 개체와 해당 stringify() 및 구문 분석() 메서드를 지원할 수 있도록 json.js가 제공됩니다. 이 js는 github.com/douglascrockford/JSON-js에서 얻을 수 있습니다. , 일반적으로 json2.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을 문자열로 변환합니다.

위 내용은 JSON 객체와 문자열 간의 변환 예시에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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