PHP可通過json_encode()
和json_decode()
函式對JSON進行編碼和解碼。
json_encode()
函式返回值JSON的表示形式。 換句話說,它將PHP變數(包含陣列)轉換為JSON格式資料。
語法
string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )
下面來看看看將陣列編碼為JSON格式的例子。
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
上面範例程式碼執行結果如下 -
{"a":1,"b":2,"c":3,"d":4,"e":5}
下面來看看看將陣列編碼為JSON格式的例子。
<?php
$arr2 = array('firstName' => 'Max', 'lastName' => 'Su', 'email' => '[email protected]');
echo json_encode($arr2);
?>
上面範例程式碼執行結果如下 -
{"firstName":"Max","lastName":"su","email":"[email protected]"}
json_decode()
函式解碼JSON字串。 換句話說,它將JSON字串轉換為PHP變數。
語法
mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )
下面來看看看解碼JSON字串的例子。
<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json, true));//true means returned object will be converted into associative array
?>
執行上面程式碼得到以下結果 -
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
下面來看看看解碼JSON字串的例子。
<?php
$json2 = '{"firstName" : "Max", "lastName" : "Su", "email" : "[email protected]"}';
var_dump(json_decode($json2, true));
?>
執行上面程式碼得到以下結果 -
array(3) {
["firstName"]=> string(5) "Max"
["lastName"]=> string(5) "Su"
["email"]=> string(15) "[email protected]"
}