php is_json()能檢測(cè)所有json格式嗎

PHP
小樊
81
2024-09-11 05:36:03

is_json() 函數(shù)是 PHP 中自定義的一個(gè)函數(shù),用于檢查給定的字符串是否是有效的 JSON 格式。但是,這個(gè)函數(shù)本身并不是 PHP 內(nèi)置的函數(shù),而是需要我們自己實(shí)現(xiàn)。

一個(gè)簡(jiǎn)單的 is_json() 函數(shù)實(shí)現(xiàn)如下:

function is_json($string) {
    json_decode($string);
    return (json_last_error() == JSON_ERROR_NONE);
}

這個(gè)函數(shù)通過調(diào)用 json_decode() 函數(shù)嘗試解碼輸入的字符串,然后檢查 json_last_error() 的返回值。如果返回值為 JSON_ERROR_NONE,則說明輸入的字符串是有效的 JSON 格式。

需要注意的是,這個(gè)函數(shù)只能檢測(cè)字符串類型的 JSON 數(shù)據(jù),對(duì)于其他類型的 JSON 數(shù)據(jù)(例如數(shù)字、布爾值等),該函數(shù)將無法正確檢測(cè)。因此,在使用該函數(shù)時(shí),請(qǐng)確保傳遞給它的參數(shù)是字符串類型的 JSON 數(shù)據(jù)。

0