- 相關(guān)推薦
PHP中Json應(yīng)用
導(dǎo)語:Json全稱是JavaScript Object Notation,本來是JavaScript對象的一種表示和描述方式,F(xiàn)在已經(jīng)和XML一樣,成為了一種通用的數(shù)據(jù)傳輸格式,且由其更加輕量級,得到了廣泛的使用。讓我們了解一下其應(yīng)用方法吧!
在PHP中,與Json直接相關(guān)的兩個(gè)常用函數(shù)是json_encode和json_decode,json_encode即將PHP實(shí)體(數(shù)組或?qū)ο蟮阮愋停┻M(jìn)行接送編碼,轉(zhuǎn)換成Json字符串(文本)格式,以便進(jìn)行數(shù)據(jù)傳輸。另一方面,json_decode是對Json字符串進(jìn)行解碼,得到原來的PHP實(shí)體。在PHP中,經(jīng)常使用的就是對對象和數(shù)組進(jìn)行Json傳輸。
當(dāng)對一維數(shù)組和對象進(jìn)行json_decode時(shí),會轉(zhuǎn)化后的Json字符串發(fā)現(xiàn)其形式一樣。
如下代碼所示:
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;
轉(zhuǎn)化后的Json字符串格式都為:{"name":"qqyumidi","age":"24"}
如果現(xiàn)在有此Json字符串,需要對其進(jìn)行還原成原來格式,怎么辦呢,到底是解析成對象還是數(shù)組形式呢,幸好,json_decode函數(shù)中為了對此進(jìn)行區(qū)分,提供了第二個(gè)可選布爾型參數(shù),如果第二個(gè)參數(shù)為true,則解析為數(shù)組,否則解析成對象。且默認(rèn)是false。這也正是json_decode函數(shù)第二個(gè)參數(shù)的來由。
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);
可以看到輸出結(jié)果為:
stdClass Object ( [name] => qqyumidi [age] => 24 )
Array ( [name] => qqyumidi [age] => 24 )
【PHP中Json應(yīng)用】相關(guān)文章:
php中序列化和json使用方法10-28
php數(shù)組轉(zhuǎn)成json格式的方法09-26
PHP如何遞歸實(shí)現(xiàn)json類06-27
php跨域調(diào)用json的例子11-02
在PHP語言中使用JSON09-14
PHP中CURL的幾個(gè)經(jīng)典應(yīng)用08-12
java中的JSON操作10-22