jquery结合php处理json数据的方法

jquery结合php如何处理json数据,直接看如下例子:

php端代码:

  1. $data['id'] = 1; 
  2. $dat['name'] = "mary"
  3. $da['red']= array_merge($data,$dat); 
  4. $data1['id'] = 2; 
  5. $dat1['name'] = "燕子"
  6. $da['blue']= array_merge($data1,$dat1); 
  7. print_r($da);///打印出来是一个二维数组(如下) 
  8. /* 
  9. Array 
  10. ( 
  11.     [red] => Array 
  12.         ( 
  13.             [id] => 1 
  14.             [name] => mary 
  15.         ) 
  16.  
  17.     [blue] => Array 
  18.         ( 
  19.             [id] => 2 
  20.             [name] => 燕子 
  21.         ) 
  22.  
  23. ) 
  24. */ 
  25.  
  26. echo json_encode($da);//输出的是一个转化成json格式的字符串,可以直接在js中用(如下) 
  27. /* 
  28. {"red":{"id":1,"name":"mary"},"blue":{"id":2,"name":"\u71d5\u5b50"}} 
  29. */ 

jquery脚本:

返回到js后的处理:

第一种要用到varl转化的:是字符串的时候就要用eval转化成jquery对象(如下)

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

第二种:不需要转化的:

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

循环也有两种方法:

  1. //方法一: 
  2. $.each(arr,function(idx,item){      
  3.    //输出 
  4.    alert(item.id+"哈哈"+item.name); 
  5. }) 
  6.  
  7. //方法二: 
  8. for(var key in arr){ 
  9.   alert(key); 
  10.   alert(arr[key].status); 

转载请注明:代码家园 » jquery结合php处理json数据的方法

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)