>웹 프론트엔드 >JS 튜토리얼 >jquery JSON 파싱 방법 예제 소개_jquery

jquery JSON 파싱 방법 예제 소개_jquery

WBOY
WBOY원래의
2016-05-16 16:41:111083검색

여기에서 고려되는 것은 서버가 JSON 문자열을 반환한다는 것입니다. JSONObject와 같은 플러그인으로 캡슐화된 JSON 객체의 경우에도 마찬가지이므로 여기서는 설명하지 않습니다.

여기서 먼저 JSON 문자열 세트가 제공됩니다. 문자열 세트는 다음과 같습니다.

var data=" 
{ 
root: 
[ 
{name:'1',value:'0'}, 
{name:'6101',value:'西安市'}, 
{name:'6102',value:'铜川市'}, 
{name:'6103',value:'宝鸡市'}, 
{name:'6104',value:'咸阳市'}, 
{name:'6105',value:'渭南市'}, 
{name:'6106',value:'延安市'}, 
{name:'6107',value:'汉中市'}, 
{name:'6108',value:'榆林市'}, 
{name:'6109',value:'安康市'}, 
{name:'6110',value:'商洛市'} 
] 
}";

jquery가 비동기적으로 얻는 데이터 유형인 json 객체와 문자열을 기반으로 두 가지 방법으로 얻은 결과 처리 방법을 소개합니다.

1. 서버에서 반환된 JSON 문자열의 경우 jquery 비동기 요청에 유형 설명이 없거나 문자열로 허용되는 경우 메서드가 너무 번거롭지 않아야 합니다. eval()에 문자열을 넣으면 한 번 실행됩니다. 이 방법은 일반적인 javascipt를 사용하여 json 객체를 얻는 데에도 적합합니다. 다음은 예입니다.

var dataObj=eval("("+data+")");//转换为json对象 
alert(dataObj.root.length);//输出root的子对象数量 
$.each(dataObj.root,fucntion(idx,item){ 
if(idx==0){ 
return true; 
} 

//输出每个root子对象的名称和值 
alert("name:"+item.name+",value:"+item.value); 
})

참고: 일반 js에서 json 객체를 생성하려면 $.each() 메서드를 for 문으로 바꾸기만 하면 되고 나머지는 변경되지 않습니다.

2. 서버에서 반환된 JSON 문자열의 경우 jquery 비동기 요청이 유형(일반적으로 이 구성 속성)을 "json"으로 설정하거나 $.getJSON() 메서드를 사용하여 서버 반환을 얻는 경우 이때 얻은 결과는 이미 json 개체이므로 eval() 메서드가 필요하지 않으며 개체를 직접 호출하기만 하면 됩니다. 여기서는 데이터 처리 방법을 설명하기 위해 $.getJSON 메서드를 예로 사용합니다.

$.getJSON("http://gaoyusi.blog.163.com/",{param:"gaoyusi"},function(data){

//此处返回的data已经是json对象 
//以下其他操作同第一种情况 
$.each(data.root,function(idx,item){ 
if(idx==0){ 
return true;//同countinue,返回false同break 
} 

alert("name:"+item.name+",value:"+item.value); 

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