php中JSON的使用方法注意事项及例子
来源:绵阳动力网络公司  时间:2015-05-05  阅读:22

json常用来作为数据交换的一种格式,和xml相比体积更小。缺点就是层级关系不明显不大容易被理解。php中生成json要借助array和json_encode,json_decode一起使用。越复杂的json嵌套的数组越多,下面我们来仔细探讨下这个问题。

从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码。

json_encode()                                                                      

该函数主要用来将数组和对象,转换为json格式。

$arr = array ('a'=>'a','b'=>'b','c'='c','d'=>'d','e'='e'); 
echo json_encode($arr);

输出结果:

json只接受utf-8编码的字符,json_encode()的参数必须是utf-8编码。

class person  { 
   public $name; 
   public $age;
   public $height; 
   function __construct($name,$age,$height)
    {
      $this->name = $name;
      $this->age = $age; 
      $this->height = $height;
      }
   } 
 $obj = new person("zhangsan",20,100); 
 $foo_json = json_encode($obj);
  echo $foo_json; 

输出结果:

当类中的属性为私有变量的时候,则不会输出。

json_decode()                                                                      

该函数用于将json文本转换为相应的PHP数据结构。

$json = '{"a":"hello","b":"world","c":"zhangsan","d":20,"e":170}'; 
var_dump(json_decode($json)); 

输出结果:

通常情况下,json_decode()总是返回一个PHP对象。

转成数组的:

$json = '{"a":"hello","b":"world","c":"zhangsan","d":20,"e":170}'; 
var_dump(json_decode($json,ture)); 

 
  • 电话咨询

  • 0816-2318288