PHP中Json應用

來源:文萃谷 4.99K

導語:Json全稱是JavaScript Object Notation,本來是JavaScript對象的一種表示和描述方式。現在已經和XML一樣,成為了一種通用的數據傳輸格式,且由其更加輕量級,得到了廣泛的使用。讓我們瞭解一下其應用方法吧!

PHP中Json應用

在PHP中,與Json直接相關的兩個常用函數是json_encode和json_decode,json_encode即將PHP實體(數組或對象等類型)進行接送編碼,轉換成Json字符串(文本)格式,以便進行數據傳輸。另一方面,json_decode是對Json字符串進行解碼,得到原來的PHP實體。在PHP中,經常使用的就是對對象和數組進行Json傳輸。

當對一維數組和對象進行json_decode時,會轉化後的'Json字符串發現其形式一樣。

如下代碼所示:

1 <?php

2 $people1 = array('name'=>'qqyumidi', 'age'=>'24');

3 $people1_json = json_encode($people1);

4 echo $people1_json;

5 echo "<br/>";

6

7 class People{

8 public $name;

9 public $age;

10

11 public function __construct($name, $age){

12 $this->name = $name;

13 $this->age = $age;

14 }

15 }

16

17 $people2 = new People('qqyumidi', '24');

18 $people2_json = json_encode($people2);

19 echo $people2_json;

轉化後的Json字符串格式都為:{"name":"qqyumidi","age":"24"}

如果現在有此Json字符串,需要對其進行還原成原來格式,怎麼辦呢,到底是解析成對象還是數組形式呢,幸好,json_decode函數中為了對此進行區分,提供了第二個可選布爾型參數,如果第二個參數為true,則解析為數組,否則解析成對象。且默認是false。這也正是json_decode函數第二個參數的來由。

1 $json_str = '{"name":"qqyumidi","age":"24"}';

2 $result1 = json_decode($json_str);

3 $result2 = json_decode($json_str, true);

4 print_r($result1);

5 echo "<br/>";

6 print_r($result2);

可以看到輸出結果為:

stdClass Object ( [name] => qqyumidi [age] => 24 )

Array ( [name] => qqyumidi [age] => 24 )

熱門標籤