好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP JSON数据的创建和解析程序代码 - php高级应用

PHP JSON数据的创建和解析程序代码

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' ). empty empty ();      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 );  ?> 

查看更多关于PHP JSON数据的创建和解析程序代码 - php高级应用的详细内容...

  阅读:43次