首頁 > 後端開發 > PHP問題 > php json常用方法有哪些

php json常用方法有哪些

青灯夜游
發布: 2023-03-12 18:10:02
原創
2187 人瀏覽過

php json常用方法:1、json_encode(),用於對JSON格式的字串進行解碼;2、json_encode(),用於對JSON格式的字串進行解碼;3、json_last_error() ,用於傳回最後發生的錯誤。

php json常用方法有哪些

本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦

php json常用方法:

1、json_encode()

PHP json_encode() 用於對變數進行JSON 編碼,該函數如果執行成功返回JSON 數據,否則返回FALSE 。

語法

string json_encode ( $value [, $options = 0 ] )
登入後複製

範例:

<?php
   $arr = array(&#39;a&#39; => 1, &#39;b&#39; => 2, &#39;c&#39; => 3, &#39;d&#39; => 4, &#39;e&#39; => 5);
   echo json_encode($arr);
?>
登入後複製

輸出結果:

{"a":1,"b":2,"c":3,"d":4,"e":5}
登入後複製

2、json_encode()

json_decode() 函數用於對JSON 格式的字串進行解碼,並轉換為PHP 變數。

語法:

mixed json_decode ($json_string [,$assoc = false [, $depth = 512 [, $options = 0 ]]])
登入後複製

參數:

  • #json_string: 待解碼的JSON 字串,必須是UTF-8 編碼資料

  • assoc: 當此參數為TRUE 時,將傳回數組,FALSE 時傳回物件。

  • depth: 整數型別的參數,它指定遞歸深度

  • options: 二進位掩碼,目前只支援 JSON_BIGINT_AS_STRING 。

範例:

登入後複製

輸出結果:

object(stdClass)#1 (5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

array(5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}
登入後複製

3、json_last_error()

json_last_error —傳回最後發生的錯誤

語法:

json_last_error()
登入後複製

如果有,傳回JSON 編碼解碼時最後發生的錯誤。會回傳一個整數(integer),這個值會是以下的常數之一:

##常數意義可用性# #沒有錯誤發生 ##JSON_ERROR_UTF8PHP 5.3.3#JSON_ERROR_RECURSIONPHP 5.5.0JSON_ERROR_INF_OR_NANINF# values in the value to be encodedPHP 5.5.0JSON_ERROR_UNSUPPORTED_TYPEJSON_ERROR_UNSUPPORTED_TYPE#JSON_ERROR_INVALID_PROPERTY_NAMEJSON_ERROR_UTF16
JSON 錯誤碼
JSON_ERROR_NONE
JSON_ERROR_DEPTH##到達了最大堆疊深度 
JSON_ERROR_STATE_MISMATCH無效或例外的JSON
#JSON_ERROR_CTRL_CHAR#控製字元錯誤,可能是編碼不對 
#JSON_ERROR_SYNTAX語法錯誤 
異常的UTF-8 字符,也許是因為不正確的編碼。
One or more recursive references in the value to be encoded
#One or more       #One or more       #> ##NAN       or
# 指定的類型,值無法編碼。 PHP 5.5.0
#指定的屬性名稱無法編碼。 PHP 7.0.0

畸形的UTF-16 字符,可能因為字符編碼不正確。

PHP 7.0.0

範例:

<?php
// 一个有效的 json 字符串
$json[] = &#39;{"Organization": "PHP Documentation Team"}&#39;;

// 一个无效的 json 字符串会导致一个语法错误,在这个例子里我们使用 &#39; 代替了 " 作为引号
$json[] = "{&#39;Organization&#39;: &#39;PHP Documentation Team&#39;}";


foreach ($json as $string) {
    echo &#39;Decoding: &#39; . $string;
    json_decode($string);

    switch (json_last_error()) {
        case JSON_ERROR_NONE:
            echo &#39; - No errors&#39;;
        break;
        case JSON_ERROR_DEPTH:
            echo &#39; - Maximum stack depth exceeded&#39;;
        break;
        case JSON_ERROR_STATE_MISMATCH:
            echo &#39; - Underflow or the modes mismatch&#39;;
        break;
        case JSON_ERROR_CTRL_CHAR:
            echo &#39; - Unexpected control character found&#39;;
        break;
        case JSON_ERROR_SYNTAX:
            echo &#39; - Syntax error, malformed JSON&#39;;
        break;
        case JSON_ERROR_UTF8:
            echo &#39; - Malformed UTF-8 characters, possibly incorrectly encoded&#39;;
        break;
        default:
            echo &#39; - Unknown error&#39;;
        break;
    }

    echo PHP_EOL;
}
?>
登入後複製
###輸出結果:######
Decoding: {"Organization": "PHP Documentation Team"} - No errors
Decoding: {&#39;Organization&#39;: &#39;PHP Documentation Team&#39;} - Syntax error, malformed JSON
登入後複製
###推薦學習: 《###PHP影片教學###》###

以上是php json常用方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板