牛骨文教育服务平台(让学习变的简单)
博文笔记

json_encode 与 json_decode的区别

创建时间:2016-01-31 投稿人: 浏览次数:11639

JSON 的四个基本规则:
1) 并列的数据之间用逗号(”,”)分隔。
2) 映射用冒号(”:”)表示。
3) 并列数据的集合(数组)用方括号(“[]”)表示。
4) 映射的集合(对象)用大括号(”{}”)表示。

<?php

//1.将一维数组转换成json格式
$arr1 = array();
$arr1["name"] = "zhangsan";
$arr1["age"] = 25;
$arr1["address"] = "安徽";
echo json_encode($arr1);   //{"name":"zhangsan","age":25,"address":"u5b89u5fbd"}

echo "<hr/>";

//2.将多维数组转换成json格式
$arr2 = array();
$arr2["users"]["beijing"]["username"] = "gem";
$arr2["users"]["beijing"]["age"] = 22;

$arr2["users"]["anhui"]["username"] = "wolf";
$arr2["users"]["anhui"]["age"] = 23;

echo json_encode($arr2); //{"users":{"beijing":{"username":"gem","age":22},"anhui":{"username":"wolf","age":23}}}

echo "<hr/>";

//3.将对象转换为json格式
class Person{
    public $name;
    public function setName($name){
        $this->name = $name;
    }

}
$p = new Person();
$p->setName("lisi"); 
echo json_encode($p);  //{"name":"lisi"} 类的属性为私有变量时不会输出

echo "<hr/>";

//4.将json格式转换为数组格式
$json = "{"users":{"beijing":{"username":"gem","age":22},"anhui":{"username":"wolf","age":23}}}";
var_dump(json_decode($json,true));





声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。