常量 | 含義 | 可用性 |
---|---|---|
JSON_ERROR_NONE | 沒有錯誤發(fā)生 | |
JSON_ERROR_DEPTH | 到達(dá)了最大堆棧深度 | |
JSON_ERROR_STATE_MISMATCH | 無效或異常的 JSON | |
JSON_ERROR_CTRL_CHAR | 控制字符錯誤,可能是編碼不對 | |
JSON_ERROR_SYNTAX | 語法錯誤 | |
JSON_ERROR_UTF8 | 異常的 UTF-8 字符,也許是因為不正確的編碼。 | PHP 5.3.3 |
JSON_ERROR_RECURSION | One or more recursive references in the value to be encoded | PHP 5.5.0 |
JSON_ERROR_INF_OR_NAN | One or more NAN or INF values in the value to be encoded | PHP 5.5.0 |
JSON_ERROR_UNSUPPORTED_TYPE | 指定的類型,值無法編碼。 | PHP 5.5.0 |
JSON_ERROR_INVALID_PROPERTY_NAME | 指定的屬性名無法編碼。 | PHP 7.0.0 |
JSON_ERROR_UTF16 | 畸形的 UTF-16 字符,可能因為字符編碼不正確。 | PHP 7.0.0 |
?php // 一個有效的 json 字符串 $json[] = '{"Organization": "PHP Documentation Team"}'; // 一個無效的 json 字符串會導(dǎo)致一個語法錯誤,在這個例子里我們使用 ' 代替了 " 作為引號 $json[] = "{'Organization': 'PHP Documentation Team'}"; foreach ($json as $string) { echo 'Decoding: ' . $string; json_decode($string); switch (json_last_error()) { case JSON_ERROR_NONE: echo ' - No errors'; break; case JSON_ERROR_DEPTH: echo ' - Maximum stack depth exceeded'; break; case JSON_ERROR_STATE_MISMATCH: echo ' - Underflow or the modes mismatch'; break; case JSON_ERROR_CTRL_CHAR: echo ' - Unexpected control character found'; break; case JSON_ERROR_SYNTAX: echo ' - Syntax error, malformed JSON'; break; case JSON_ERROR_UTF8: echo ' - Malformed UTF-8 characters, possibly incorrectly encoded'; break; default: echo ' - Unknown error'; break; } echo PHP_EOL; }
php官方參考文檔:https://secure.php.net/manual/zh/function.json-last-error.php
到此這篇關(guān)于php中對內(nèi)置函數(shù)json_encode和json_decode的異常處理的文章就介紹到這了,更多相關(guān)php處理json_encode和json_decode異常內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:洛陽 赤峰 金華 白城 七臺河 酒泉 怒江 溫州
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php中對內(nèi)置函數(shù)json_encode和json_decode的異常處理》,本文關(guān)鍵詞 php,中,對,內(nèi)置,函數(shù),json,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。