Home  >  Article  >  Web Front-end  >  How to parse JSON in jquery_jquery

How to parse JSON in jquery_jquery

WBOY
WBOYOriginal
2016-05-16 16:09:201203browse

What we consider is that the server returns a string in JSON form. For JSON objects encapsulated by plug-ins such as JSONObject, the same is true and will not be explained here.

Copy code The code is as follows:

var data="
{
root:
[
{name:'1',value:'0'},
{name:'6101',value:'Xi'an City'},
{name:'6102',value:'Tongchuan City'},
{name:'6103',value:'Baoji City'},
{name:'6104',value:'Xianyang City'},
{name:'6105',value:'Weinan City'},
{name:'6106',value:'Yan'an City'},
{name:'6107',value:'Hanzhong City'},
{name:'6108',value:'Yulin City'},
{name:'6109',value:'Ankang City'},
{name:'6110',value:'Shangluo City'}
]
}";

Based on the data types obtained asynchronously by jquery - json objects and strings, here we introduce the processing methods of the results obtained in the two ways.

1. For the JSON string returned by the server, if the jquery asynchronous request does not have a type description, or is accepted as a string, then it needs to be objectified. The method is not too troublesome, that is, put the string in eval () is executed once. This method is also suitable for obtaining json objects using ordinary javascipt. The following is an example:

Copy code The code is as follows:

var dataObj=eval("(" data ")");//Convert to json object
alert(dataObj.root.length);//Output the number of sub-objects of root
$.each(dataObj.root,fucntion(idx,item){
if(idx==0){
return true;
}
//Output the name and value of each root sub-object
alert("name:" item.name ",value:" item.value);
})

Note: For general js to generate json objects, you only need to replace the $.each() method with a for statement, and the others remain unchanged.

2. For the JSON string returned by the server, if the jquery asynchronous request sets the type (usually this configuration attribute) to "json", or uses the $.getJSON() method to obtain the server return, then there is no need to eval ( ) method, because the result obtained at this time is already a json object, you only need to call the object directly. Here, the $.getJSON method is used as an example to illustrate the data processing method:

Copy code The code is as follows:

$.getJSON("http://user.qzone.qq.com/2227211070",{param:"gaoyusi"},function(data){
//The data returned here is already a json object
//Other operations below are the same as the first case
$.each(data.root,function(idx,item){
if(idx==0){
return true;//Same as countinue, return false the same as break
}
alert("name:" item.name ",value:" item.value);
});
});

The above is the entire content of this article about jQuery parsing json. I hope you will like it.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn