|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
即使你理解不了PHP,但是也必须先跟它混个脸熟,看,一遍遍的看,看的同时一边琢磨,一边按照它所教的打代码,即使你搞不清楚那些代码到底是干嘛的,但是起码你应该找找感觉。 此前我写了很多在PHP网站开辟中使用XML停止数据交互的实例,这两天经由过程PHP解析JSON并停止交互的实例进修和懂得了JSON在PHP中的使用,感到十分便利,在PHP中解析JSON次要用到json_encode和json_decode两个PHP JSON函数,比PHP解析XML便利良多,上面具体引见下PHP JSON的利用。
JSON基本引见
JSON(JavaScript Object Notation) 是一种轻量级的数据互换格局。
JSON次要有两种布局:
“称号/值”对的纠合,在PHP中可以了解为联系关系数组 (associative array)。
值的有序列表(An ordered list of values)。在PHP中可以了解为通俗数组(array)。
对象是一个无序的“‘称号/值’对”纠合。一个对象以“{”(左括号)入手下手,“}”(右括号)停止。每一个“称号”后跟一个“:”(冒号);“‘称号/值’ 对”之间利用“,”(逗号)分隔。
数组是值(value)的有序纠合。一个数组以“[”(左中括号)入手下手,“]”(右中括号)停止。值之间利用“,”(逗号)分隔。值(value)可所以双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或数组(array)。这些布局可以嵌套。
我今朝对JSON的了解更倾向于数组,相似于PHP中的联系关系数组,你可以将PHP数组转换为JSON格局。
更多JSON的引见请参考JSON官网和IBM关于JSON的引见
PHP JSON解析实例
PHP5.2入手下手已将JSON作为PHP扩大的一局部,所以其实不需求别的装置JSON。别的为了包管上面的PHP JSON实例不呈现中文乱码,请包管你的编码格局为UTF8。
JSON是Javascript的一局部,起首咱们看下Javascript中若何界说JSON
1
2
3
4
5
6
7
8
var json_obj = {'WebName':'PHP网站开辟教程网'};
alert(json_obj.WebName);
var json_arr =[{'WebName':'PHP网站开辟教程网','WebSite':'http://www.leapsoul.cn'},{'ArtTitle':'PHP JSON实例解说'}]
alert(json_arr[1].ArtTitle);
var php_json = [['PHP网站开辟教程网','http://www.leapsoul.cn'],['文章题目','PHP JSON实例解说']];
alert(php_json[1][0]); 在这段JSON实例代码中我构建了一切的JSON模式,
第1行,界说了JSON以对象模式存在
第4行,界说了JSON以数组模式存在,嵌套了JSON对象,所以有点相似于PHP的联系关系数组,其实依然是对象。
第7行,定了JSON以通俗数组模式存在。
注重:因为Javascript是辨别巨细写的,所以会见JSON联系关系数组对象时注重key的巨细写成绩。
PHP与JSON格局数据交互时,第一步需求将PHP数组转换为JSON格局的数据,可以使用PHP5自带的json_encode函数,当PHP解析传递过去的JSON格局数据时需求利用json_decode函数停止解析转换为PHP数组,PHP转换并解析JSON数据的实例代码以下
1
2
3
4
5
6
7
8
9
10
11
<?php
$json_arr = array('WebName'=>'PHP网站开辟教程网','WebSite'=>'http://www.leapsoul.cn');
$php_json = json_encode($json_arr);
echo $php_json;
$php_json = json_decode($php_json);
print_r($php_json);
?> 申明:这里经由过程PHP界说了联系关系数组,然后经由过程json_encode转换为JSON格局的数据,经由过程echo语句可以看到转换后的JSON对象,经由过程PHP JSON解析函数json_decode可以将JSON格局的数据解析为PHP的联系关系数组。假如编码不准确,JSON中文会呈现乱码。假如你利用Editplus调试PHP,请注重保留文件时编码将ANSI改成UTF8。
最初咱们来看下完全的PHP JSON交互实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$json_arr = array('WebName'=>'PHP网站开辟教程网','WebSite'=>'http://www.leapsoul.cn');
$php_json = json_encode($json_arr);
?>
<script type="text/javascript">
var php_json = <?=$php_json?>;
</script>
<script type="text/javascript">
function php_json_dis(php_json)
{
alert(php_json.WebName);
alert(php_json.WebSite);
}
php_json_dis(php_json);
</script> 至此,PHP经由过程json_encode和json_decode函数对JSON格局数据停止转换息争析的实例就引见完了。
注:PHP网站开辟教程-leapsoul.cn版权一切,转载时请以链接模式注明原始出处及本声明,感谢。
刚开始写页面程序,调试完书中的例子。然后就可以尝试编写留言板了, |
|