當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP json_decode()用法及代碼示例


json_decode()函數是PHP中的內置函數,用於解碼JSON字符串。它將JSON編碼的字符串轉換為PHP變量。

用法:

json_decode( $json, $assoc = FALSE, $depth = 512, $options = 0 )

參數:該函數接受上述和以下所述的四個參數:


  • json:它包含需要解碼的JSON字符串。它僅適用於UTF-8編碼的字符串。
  • assoc:它是一個布爾變量。如果為true,則返回的對象將轉換為關聯數組。
  • depth:它規定了用戶指定的遞歸深度。
  • options:它包括JSON_OBJECT_AS_ARRAY,JSON_BIGINT_AS_STRING,JSON_THROW_ON_ERROR的位掩碼。

返回值:此函數以適當的PHP類型返回編碼的JSON值。如果無法解碼json或編碼數據比遞歸限製深,則它將返回NULL。

以下示例說明了PHP中json_decode()函數的用法:
示例1:

<?php 
  
// Declare a json string 
$json = '{"g":7, "e":5, "e":5, "k":11, "s":19}'; 
  
// Use json_decode() function to 
// decode a string 
var_dump(json_decode($json)); 
  
var_dump(json_decode($json, true)); 
  
?>
輸出:
object(stdClass)#1 (4) {
  ["g"]=>
  int(7)
  ["e"]=>
  int(5)
  ["k"]=>
  int(11)
  ["s"]=>
  int(19)
}
array(4) {
  ["g"]=>
  int(7)
  ["e"]=>
  int(5)
  ["k"]=>
  int(11)
  ["s"]=>
  int(19)
}

示例2:

<?php 
  
// Declare a json string 
$json = '{"geeks": 7551119}'; 
  
// Use json_decode() function to 
// decode a string 
$obj = json_decode($json); 
  
// Display the value of json object 
print $obj->{'geeks'}; 
  
?>
輸出:
7551119

使用json_decode()函數時的常見錯誤:

  • 使用的字符串是有效的JavaScript,但不是有效的JSON。
  • 名稱和值必須用雙引號引起來,不允許使用單引號。
  • 不允許使用逗號結尾。

參考: http://php.net/manual/en/function.json-decode.php



相關用法


注:本文由純淨天空篩選整理自Code_Mech大神的英文原創作品 PHP | json_decode() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。