国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP JSON數據的創建和解析程序代碼

2024-05-04 21:48:05
字體:
來源:轉載
供稿:網友

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,代碼如下:

  1. $(function(){ 
  2.      $('#send').click(function() { 
  3.           $.getJSON('test.js'function(data) { 
  4.               $('#resText').emptyempty(); 
  5.    var html = ''
  6.    $.each( data  , function(commentIndex, comment) { 
  7.     html += '<div class="comment"><h6>' + comment['username'] + ':</h6><p class="para">' + comment['content'] + '</p></div>'
  8.    }) 
  9.   $('#resText').html(html); 
  10.          }) 
  11.     }) 
  12. }) 

你需要做的就是將數據存儲為格式正確的 .json或者.js 文件,以下為示例所傳送的json格式的數據:

  1.   { 
  2.     "username": "張三", 
  3.     "content": "沙發." 
  4.   }, 
  5.   { 
  6.     "username": "李四", 
  7.     "content": "板凳." 
  8.   }, 
  9.   { 
  10.     "username": "王五", 
  11.     "content": "地板." 
  12.   } 

php輸出JSON格式

那么php如何輸出json格式?php 使用json_encode函數,然后jQuery使用datatype:json 就可以了嘛? 顯然并非所愿,還是字符串,到底怎么實現?其實很簡單,只要在php文件頭部加入以下代碼:

header('Content-type: text/json');

這個頭就是告知此文件輸出類型為 json,這種形式我們見的最多的是驗證碼——php輸出驗證圖片,有時php可以輸出css文件,js文件等做一些有趣的事情,好的,我們測試一下吧,代碼如下:

  1. <?php 
  2. header('Content-type: text/json'); 
  3.  
  4. $fruits = array ( 
  5.     "fruits"  => array("a" => "orange""b" => "banana""c" => "apple"), 
  6.     "numbers" => array(1, 2, 3, 4, 5, 6), 
  7.     "holes"   => array("first", 5 => "second""third"
  8. ); 
  9. echo json_encode($fruits); 
  10. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙陵县| 扎鲁特旗| 曲松县| 昌江| 丰原市| 昌江| 平谷区| 洛川县| 加查县| 涞源县| 潍坊市| 甘孜县| 卢龙县| 丁青县| 义马市| 长岭县| 阿瓦提县| 平度市| 和硕县| 天长市| 四会市| 峨山| 井陉县| 石林| 会理县| 德江县| 海门市| 博野县| 甘孜县| 兴国县| 新竹市| 武城县| 临安市| 子洲县| 华亭县| 额尔古纳市| 南皮县| 昌都县| 罗源县| 庄河市| 久治县|