JSON是一种轻量级的数据交换格式,它简单优雅、易于阅读和编写,用于浏览器和服务器之间的数据交换
JSON(JavaScript Object Notation)是Web应用中最常见的信息传输格式,和XML一样,JSON是存储和交换文本信息的一种语法。
其实JSON是JavaScript的子集,所以在Web程序中很容易使用,其格式表示为“名/值对”,如下所示:{"name" : "John"}
名称/值对包括字段名称(在双引号中)、冒号、值。
其中,值可以是以下数据类型:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
null
JSON 基于两种数据结构类型:数组和对象构建
JSON 对象在花括号中书写,可以包含多个名称/值对,如下:
var myJSON ={ "firstName" :"John", "lastName" :"Doe"}; document.writeln(myJSON.firstName); // 输出John document.writeln(myJSON.lastName); // 输出Doe
实际上,该对象与下面的JavaScript语句等价:
firstName = "John" lastName = "Doe"
而JSON 数组需要在方括号中书写,数组中可包含多个对象:
var employees = [ { "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thomas" , "lastName": "Carter" } ];
可以这样访问 JavaScript对象数组中的第一项:
employees[0].lastName; 返回内容是:Gates
操作:
<?php $json = '{"a":"php","b":"mysql","c":3}'; $json_class = json_decode($json); //stdClass Object ( [a] => php [b] => mysql [c] => 3 ) print_r($json_class); // 访问对象类型的值 echo $json_class->{'a'}; //php echo "<br/>"; $json_array = json_decode($json,true); //Array ( [a] => php [b] => mysql [c] => 3 ) print_r($json_array); // 访问数组类型的值 echo $json_array['a']; //php /* 总结: 1、json_decode() -> json转对象 / 数组 参数2 为true 返回array 默认false返回Object */ echo "<br/>"; // json_encode() 对象/数组 转json // 注意json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者null。