php json 解析エラーの解決策: 最初に PHP サンプル ファイルを作成し、次に「json_last_error()」関数を通じて json 解析の特定のエラーを手動で取得し、最後にエラーに応じて修正します。
この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
PHP 解析 json、xmlエラー
jsonの解析
php組み込み関数json_decode()はjson文字列を解析できます
しかし、正しく見えるjsonが解析されない 常に null を返します。
json の解析に失敗する可能性があり、現時点では PHP はプロンプトを生成しないことをご存知ですか。
json_last_error() 関数を通じて手動で取得する必要があります
function json_decode_siam($string, $mark = false){ $data = json_decode($string, $mark); switch (json_last_error()) { case JSON_ERROR_NONE: return $data; break; case JSON_ERROR_DEPTH: echo ' - 已超出最大堆栈深度'; break; case JSON_ERROR_STATE_MISMATCH: echo ' - JSON无效或格式错误 状态不匹配'; break; case JSON_ERROR_CTRL_CHAR: echo ' - 发现意外的控制字符 可能编码错误'; break; case JSON_ERROR_SYNTAX: echo ' - 错误符号,json格式错误'; break; case JSON_ERROR_UTF8: echo ' - 格式错误的UTF-8字符,可能是错误编码的'; break; default: echo ' - Unknown error'; break; } }
xml の解析
php では、xml を解析する方法がいくつかあります。主に異なる拡張環境に依存しています。
ここでは、私がよく使うこのメソッドについて説明します
simplexml_load_string(); simplexml_load_file();
文字列またはファイルをロードして解析し、Simplexml オブジェクトを返すことができます
このメソッドでは、 XML 形式が間違っています。エラーが直接生成されます。
$str = "不是xml字符串"; $data = simplexml_load_string($str); var_dump($data);
get
bool(false) PHP Warning: simplexml_load_string(): Entity: line 1: parser error : Start tag expected, '<' not found in /usercode/file.php on line 4 PHP Warning: simplexml_load_string(): 不是xml字符串 in /usercode/file.php on line 4 PHP Warning: simplexml_load_string(): ^ in /usercode/file.php on line 4
これは例外ではなく PHP エラーであるため、try{}catch(){) は使用できません
この部分の知識は将来改善される可能性があります (主に先輩たちが多くの記事を書いているため)
#[推奨学習: "PHP ビデオ チュートリアル "]
以上がphp json解析エラーが発生した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。