Home  >  Article  >  Web Front-end  >  jquery处理json对象_jquery

jquery处理json对象_jquery

WBOY
WBOYOriginal
2016-05-16 16:32:131520browse

在服务器端的php脚本:

复制代码 代码如下:

$data['id'] = 1;  
$dat['name'] = "mary";  
$da['red']= array_merge($data,$dat);  
 
$data1['id'] = 2;  
$dat1['name'] = "燕子";  
$da['blue']= array_merge($data1,$dat1);  
print_r($da);   //打印出来是一个二维数组(如下)  
/*
Array 

    [red] => Array 
        ( 
            [id] => 1 
            [name] => mary 
        ) 
 
    [blue] => Array 
        ( 
            [id] => 2 
            [name] => 燕子 
        ) 

*/ 
 
 
echo json_encode($da);//输出的是一个转化成json格式的字符串,可以直接在js中用(如下)  
/*
{"red":{"id":1,"name":"mary"},"blue":{"id":2,"name":"\u71d5\u5b50"}} 
*/ 
?> 

jquery脚本:
返回到js后的处理:
第一种要用到varl转化的:是字符串的时候就要用eval转化成jquery对象(如下)

复制代码 代码如下:

var arr = '{"red":{"id":1,"name":"mary"},"blue":{"id":2,"name":"\u71d5\u5b50"}}';   //\u71d5\u5b50这个是php中自动转换的  
var dataObj = eval("("+arr+")");    //这里要加上加好括号和双引号的原因我也不知道,就当是json语法,只能死记硬背了  
    $.each(dataObj,function(idx,item){  
    //输出    
    alert(item.id+"哈哈"+item.name);  
}) 

第二种:不需要转化的:

复制代码 代码如下:

var arr = {"red":{"id":1,"name":"mary"},"blue":{"id":2,"name":"\u71d5\u5b50"}};  
$.each(arr,function(idx,item){  
    //输出  
    alert(item.id+"哈哈"+item.name);  
}) 

循环也有两种方法:

复制代码 代码如下:

//方法一:

$.each(arr,function(idx,item){       
    //输出  
    alert(item.id+"哈哈"+item.name);  
}) 
//方法二:

for(var key in arr){  
    alert(key);  
    alert(arr[key].status);  

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