まず、json_encode は文字列を返すのに対し、json_decode はオブジェクトを返すことを覚えておいてください
データが JSON 形式でないかどうかを確認します:
コードをコピーします コードは次のとおりです:
function is_not_json($str){
Return is_null(json_decode($str));
}
データが正当な JSON データであるかどうかを判断するには: (PHP バージョンは 5.3 以降)
コードをコピーします コードは次のとおりです:
function is_json($string) { www.jb51.net
json_decode($string);
return (json_last_error() == JSON_ERROR_NONE);
}
json_last_error() 関数は、データのエンコードおよびデコード中に発生したエラーを返します
注: json エンコードおよびデコードで操作される文字列は UTF8 である必要があります
例
コードをコピー コードは次のとおりです:
/**
* json 文字列を解析します
* @param type $json_str
* @return type
*/
function AnalyJson($json_str) {
$json_str = str_replace('\\', '', $json_str) ;
$ out_arr = array();
preg_match('/{.*}/', $json_str, $out_arr);
if (!empty($out_arr)) {
$result = json_decode($out_arr[0] , TRUE) ;
} else {
return FALSE;
}
return $result;
}
json でない場合は false を返す
http://www.bkjia.com/PHPjc/736808.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/736808.html技術記事まず、json_encode は文字列を返し、json_decode はデータが JSON 形式でないかどうかを判断するオブジェクトを返すことに注意してください。次のようにコードをコピーします。 function is_not_json($str){ return is_nul...