PHP JSON数据的创建和解析程序代码
发布:smiling 来源: PHP粉丝网 添加日期:2014-07-22 13:36:01 浏览: 评论:0
json数据是我们实时交互时一些常用的文件,他可以利用php动态生成并由js或php接受进行相关处理,下面我来给各位同学介绍JSON数据的创建和解析,有需要了解的同学可参考.
JSON是什么?
JSON一种用于在互联网络中传输超量数据的数据交换格式,虽然在Internet中交换数据XML占主要地位,然而JSON却更加的简单并且适用于轻型的数据.
尽管JSON当初是被JavaScript发明并且用于访问远程数据的,它现在却被广泛适用于各种语言,因为JSON是一种于平台无关的数据格式.
JSON数据的数据类型和实例
JSON支持各种各样的数据类型,包括数字、字符串、布尔值、数组数据甚至对象数据(是一个集合,每个元素都是键:值对形式,使用逗号分隔,并且使用大括号包裹),让我们看一个JSON数据的简单例子,该例子表示一个雇员的详细信息,代码如下:
{“id”:”1″,”name”:”mike”,”country”:”usa”,”office”:["microsoft","oracle"]}
使用PHP创建和解析JSON数据的方法
PHP从5.2.0版本以后提供了JSON扩展来处理JSON数据,通过PHP有两个函数json_encode()和json_decode非常方便的对JSON数据进行转换和解析.
首先,让我们看一段PHP用数组创建如上各式的JSON的代码:
$json_data = array ('id'=>1,'name'=>"mike",'country'=>'usa',"office"=>array("microsoft","oracle")); echo json_encode($json_data);
该代码直接产生了JSON数据,现在让我们用PHP将上面的JSON解码:
$json_string='{"id":1,"name":"mike","country":"usa","office":["microsoft","oracle"]} '; $obj=json_decode($json_string);
现在变量$obj包含了使用PHP解析后的JSON数据,你可以使用以下的方法来输出和访问,代码如下:
echo $obj->name; //displays mike echo $obj->office[0]; //displays microsoft
你猜的没错$obj->office是一个数组,你能够使用PHP的foreach方法遍历它,代码如下:
foreach($obj->office as $val)echo $val;
ajax时返回JSON格式的数据,原来的数据就是JSON格式,下例来自《锋利的jQuery,代码如下:
- $(function(){
- $('#send').click(function() {
- $.getJSON('test.js', function(data) {
- $('#resText').emptyempty();
- var html = '';
- $.each( data , function(commentIndex, comment) {
- html += '<div class="comment"><h6>' + comment['username'] + ':</h6><p class="para">' + comment['content'] + '</p></div>';
- })
- $('#resText').html(html);
- })
- })
- })
你需要做的就是将数据存储为格式正确的 .json或者.js 文件,以下为示例所传送的json格式的数据:
- [
- {
- "username": "张三",
- "content": "沙发."
- },
- {
- "username": "李四",
- "content": "板凳."
- },
- {
- "username": "王五",
- "content": "地板."
- }
- ]
php输出JSON格式
那么php如何输出json格式?php 使用json_encode函数,然后jQuery使用datatype:json 就可以了嘛? 显然并非所愿,还是字符串,到底怎么实现?其实很简单,只要在php文件头部加入以下代码:
header('Content-type: text/json');
这个头就是告知此文件输出类型为 json,这种形式我们见的最多的是验证码——php输出验证图片,有时php可以输出css文件,js文件等做一些有趣的事情,好的,我们测试一下吧,代码如下:
- <?php
- header('Content-type: text/json');
- $fruits = array (
- "fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"),
- "numbers" => array(1, 2, 3, 4, 5, 6),
- "holes" => array("first", 5 => "second", "third")
- );
- echo json_encode($fruits);
- ?>
Tags: PHP JSON 数据创建 解析程序
相关文章
- ·PHP中通过Web 执行C/C++应用程序(2013-11-13)
- ·用PHP实现Ftp用户的在线管理(2013-11-13)
- ·用PHP自动把纯文本转换成Web页面(2013-11-13)
- ·用实例分析PHP5异常处理(2013-11-13)
- ·php5的simplexml解析错误(2013-11-13)
- ·PHP后门的隐藏技巧测试报告(2013-11-13)
- ·PHP缓存技术详谈(2013-11-27)
- ·利用PHP自定义错误处理器处理出错信息(2013-11-27)
- ·PHP作wap开发时遇到的问题(2013-11-27)
- ·php编写大型网站问题集(2013-11-27)
- ·php测试性能代码(2013-11-28)
- ·php 安全register globals设置为TRUE的危害(2013-11-28)
- ·XSLTProcessor 中 registerPHPFunctions 后无法调用 php 函数(2013-11-30)
- ·PHP中常用三种缓存技术(2013-11-30)
- ·新浪微博PHP版SDK的导致20007错误(2013-12-03)
- ·linux中phpMyAdmin错误提示Wrong permissions on configuration file, should no(2013-12-04)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)