PHP中Json應用
導語:Json全稱是JavaScript Object Notation,本來是JavaScript對象的一種表示和描述方式。現在已經和XML一樣,成為了一種通用的數據傳輸格式,且由其更加輕量級,得到了廣泛的使用。讓我們了解一下其應用方法吧!
在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 )
【PHP中Json應用】相關文章:
在PHP語言中使用JSON09-27
php處理json時中文問題的解決方法09-22
PHP中的Trait09-17
php中php://input和$-POST有什么不同09-12
PHP中iconv函數知識09-20
PHP中的表單處理09-10
PHP中的Streams是什么09-30
PHP中list方法用法示例09-29
PHP中的隨機性09-18