一、JSON定义
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包
二、JS语法
var obj1={};
var obj2={width:100,height:200};
var obj3={'width':100,'height':200};
var obj4={"name":"Liza", "password":"123"};
var obj5=[{"name":"Liza", "password":"123"},
{"name":"Mike", "password":"123"},
{"name":"John", "password":"123"}];
这些都是js的对象或数组
三、JSON结构
在json中,有两种结构:对象和数组。
- 对象
var data={"name":"Liza", "password":"123"} //我们也可以把这个成为JSON格式的JavaScript对象
- 数组
var data=[{"name":"Liza", "password":"123"}, {"name":"Mike", "password":"123"}, {"name":"John", "password":"123"}]; //我们也可以把这个成为JSON格式的JavaScript数组
从两个结构可以看出JSON作为数据形式,基于JavaScript的原生格式,在声明上是一样的
四、JSON与PHP数据传输的实际运用
- PHP部分
/*省略数据库连接和查询语句*/ /*假设查询结果为{"name":"Liza", "password":"123"}*/ $data=[];//一维数组 while($result->fetch_rows()) { $array=[ "name"=>$result[0], "password"=>$result[1] ] array_push($data,$array) } echo json_encode($data) //将PHP数组转换为JSON格式(JS格式)数组 //但根据PHP手册,我们可以知道json_encode返回的是字符串类型 //http://www.php.net/json_encode/
- 实际返回部分
'{"name":"Liza", "password":"123"}' //是字符串
- html页面中JS部分
$.ajax({ type:"POST", url:"xxx" data:"xxx" success: function(data){ console.log(data) //成功后接收PHP发出的字符串 //在浏览器控制台打印,是JSON格式的字符串,js无法处理 var obj=JSON.parse(data) console.log(obj) //经过处理后obj才是js数组,js才能进行处理 //此时打印出来才是数组 } error : function(){ } })