婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > php中對內置函數json_encode和json_decode的異常處理

php中對內置函數json_encode和json_decode的異常處理

熱門標簽:合肥ai電銷機器人費用 滄州電銷外呼系統價格 手機外呼系統什么原理 上海400客服電話怎么申請 溫州外呼系統招商 400電話個人能不能辦理 銀行信貸電話機器人 天津電銷外呼系統違法嗎 凱立德地鐵站地圖標注

在php中,json_encode和json_decode是很常用的函數,具體用法可以查看相關文檔,這里主要說一下錯誤處理。

平時我們在使用這兩個方法的時候可能沒怎么注意錯誤處理,有時候如果傳入的參數格式不正確就會導致報錯了。下面是錯誤處理的方式:

json_last_error — 返回最后發生的錯誤,如果有,返回 JSON 編碼解碼時最后發生的錯誤。

int json_last_error ( void )
常量 含義 可用性
JSON_ERROR_NONE 沒有錯誤發生
JSON_ERROR_DEPTH 到達了最大堆棧深度
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 字符串會導致一個語法錯誤,在這個例子里我們使用 ' 代替了 " 作為引號
$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

到此這篇關于php中對內置函數json_encode和json_decode的異常處理的文章就介紹到這了,更多相關php處理json_encode和json_decode異常內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 一篇文章教你JS函數繼承
  • js中函數的length是多少
  • JavaScript基礎系列之函數和方法詳解
  • JavaScript sleep睡眠函數的使用
  • 如何讓你的JavaScript函數更加優雅詳解
  • JavaScript中的50+個實用工具函數小結
  • 關于JavaScript回調函數的深入理解
  • JavaScript中子函數訪問外部變量的3種解決方法
  • javascript函數式編程基礎

標簽:洛陽 赤峰 金華 白城 七臺河 酒泉 怒江 溫州

巨人網絡通訊聲明:本文標題《php中對內置函數json_encode和json_decode的異常處理》,本文關鍵詞  php,中,對,內置,函數,json,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《php中對內置函數json_encode和json_decode的異常處理》相關的同類信息!
  • 本頁收集關于php中對內置函數json_encode和json_decode的異常處理的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 始兴县| 东安县| 富裕县| 永定县| 昆明市| 全椒县| 兴安盟| 那曲县| 全南县| 灯塔市| 磐安县| 岱山县| 剑河县| 巫山县| 新密市| 延津县| 比如县| 东光县| 扶绥县| 库车县| 南安市| 嘉祥县| 赤壁市| 独山县| 汶川县| 阿图什市| 曲水县| 舒兰市| 洞头县| 根河市| 华池县| 县级市| 萨嘎县| 五大连池市| 张家口市| 大冶市| 黔南| 思茅市| 武穴市| 德庆县| 尚义县|