json的初步学习

Json’是一种数据交互格式之一,客户端和服务端之间的数据交互,

Json是js的js的子集,js可以很好的解析这种数据格式

 

Php对json的解析主要是基于两个函数:json-encode和json_decode

 

一、json_encode()

有点像mysql里面的序列化函数,serialize

该函数主要用来将数组和对象,转换为json格式。先看一个数组转换的例子:

1.           $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);  
2.          echo json_encode($arr); 

结果为1.          {"a":1,"b":2,"c":3,"d":4,"e":5} 

 

再看一个对象转换的例子:

1.      $obj->body = 'another post';  
2.           $obj->id = 21;  
3.          $obj->approved = true;  
4.           $obj->favorite_count = 1;  
5.     $obj->status = NULL;  
6.           echo json_encode($obj); 

结果

1.         {  
2.     "body":"another post",  
3.         "id":21,  
4.           "approved":true,  
5.           "favorite_count":1,  
6.          "status":null  
7.          }  
 
由于json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者null。当中文使用GB2312编码,
或者外文使用ISO-8859-1编码的时候,这一点要特别注意。
 

四、json_decode()

类似与反序列化函数

该函数用于将json文本转换为相应的PHP数据结构。下面是一个例子:

通常情况下,json_decode()总是返回一个PHP对象,而不是数组。比如:

1.           $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';  
2           var_dump(json_decode($json)); 

结果就是生成一个PHP对象:

1.          object(stdClass)#1 (5) {  
2.           ["a"] => int(1)  
3.          ["b"] => int(2)  
4.           ["c"] => int(3)  
5.           ["d"] => int(4)  
6.         ["e"] => int(5)  
7.           } 

如果想要强制生成PHP关联数组,json_decode()需要加一个参数true:

  $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';   var_dump(json_decode($json),true);

结果就生成了一个关联数组:

  array(5) {

     ["a"] => int(1)      ["b"] => int(2)      ["c"] => int(3)      ["d"] => int(4)      ["e"] => int(5)

  }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值