ホームページ バックエンド開発 PHPの問題 php json解析エラーが発生した場合の対処方法

php json解析エラーが発生した場合の対処方法

Mar 05, 2021 am 09:13 AM
php

php json 解析エラーの解決策: 最初に PHP サンプル ファイルを作成し、次に「json_last_error()」関数を通じて json 解析の特定のエラーを手動で取得し、最後にエラーに応じて修正します。

php 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();
ログイン後にコピー

文字列またはファイルをロードして解析し、S​​implexml オブジェクトを返すことができます

このメソッドでは、 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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

See all articles