仓酷云
标题:
PHP教程之PHP JSON格局数据交互实例代码详解
[打印本页]
作者:
小魔女
时间:
2015-2-3 23:40
标题:
PHP教程之PHP JSON格局数据交互实例代码详解
理解网站这一概念之后不难看出,任何网站都是由网页组成的,也就是说想完成网站,必须先学会做网页,因此必须要掌握了HTML,才能为今后制作网站打下基础。 在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
复制代码
代码以下:
var json_obj = {'WebName':'PHP网站开辟教程网'};
alert(json_obj.WebName);
var json_arr =[{'WebName':'PHP网站开辟教程网','WebSite':'http://www.jb51.net'},{'ArtTitle':'PHP JSON实例解说'}]
alert(json_arr[1].ArtTitle);
var php_json = [['PHP网站开辟教程网','http://www.jb51.net'],['文章题目','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数据的实例代码以下
复制代码
代码以下:
<?php
$json_arr = array('WebName'=>'PHP网站开辟教程网','WebSite'=>'http://www.jb51.net');
$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交互实例
复制代码
代码以下:
<?php
$json_arr = array('WebName'=>'PHP网站开辟教程网','WebSite'=>'http://www.jb51.net');
$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格局数据停止转换息争析的实例就引见完了。
刚开始觉得自己对这些多少有些基础,很简单,但是看了老师那么熟练的进行网页布局的时候,突然之间发现,其实,我的基础并没有自己想像的那么好,自己设计的页面其实并不好看,就连表格的边框为1像素都不会弄。
作者:
莫相离
时间:
2015-2-4 05:58
爱上php,他也会爱上你。
作者:
活着的死人
时间:
2015-2-5 21:52
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线 \\\\\\\'_\\\\\\\' ;
作者:
愤怒的大鸟
时间:
2015-2-16 18:06
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
作者:
蒙在股里
时间:
2015-3-5 07:35
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
作者:
灵魂腐蚀
时间:
2015-3-7 01:58
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
作者:
老尸
时间:
2015-3-7 08:19
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
作者:
兰色精灵
时间:
2015-3-7 21:15
基础有没有对学习php没有太大区别,关键是兴趣。
作者:
小女巫
时间:
2015-3-8 12:48
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
作者:
乐观
时间:
2015-3-15 22:57
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
作者:
飘飘悠悠
时间:
2015-3-22 17:34
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者:
谁可相欹
时间:
2015-3-22 19:09
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者:
爱飞
时间:
2015-3-24 21:36
Ps:以上纯属原创,如有雷同,纯属巧合
作者:
分手快乐
时间:
2015-3-26 18:47
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
作者:
精灵巫婆
时间:
2015-4-16 09:16
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者:
若相依
时间:
2015-4-18 18:41
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
作者:
因胸联盟
时间:
2015-4-26 13:35
做为1门年轻的语言,php一直很努力。
作者:
再现理想
时间:
2015-6-5 03:17
实践是检验自己会不会的真理。
作者:
再见西城
时间:
2015-6-11 23:00
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2