Maison > développement back-end > Problème PHP > Que faire si une erreur d'analyse php json se produit

Que faire si une erreur d'analyse php json se produit

藏色散人
Libérer: 2023-03-08 12:58:02
original
3790 Les gens l'ont consulté

Solution à l'erreur d'analyse php json : créez d'abord un exemple de fichier PHP ; puis obtenez manuellement l'erreur spécifique de l'analyse json via la fonction "json_last_error()" et enfin modifiez-la en fonction de l'erreur.

Que faire si une erreur d'analyse php json se produit

L'environnement d'exploitation de cet article : système Windows7, version PHP7.1, ordinateur DELL G3

Analyse PHP json, xml error

Analyser json

La fonction intégrée php json_decode() peut analyser la chaîne json

Mais parfois, le json qui semble correct est non analysé Renvoie toujours null.

Saviez-vous que json peut échouer à être analysé et que PHP ne générera pas d'invite pour le moment.

Nous devons obtenir manuellement le

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;
    }
}
Copier après la connexion
via la fonction json_last_error()

Analyser XML

En php, il existe plusieurs façons d'analyser XML, s'appuyant principalement sur différents environnements d'extension.

Ici, je vais parler de la méthode que j'utilise souvent

simplexml_load_string();
simplexml_load_file();
Copier après la connexion

Vous pouvez charger et analyser des chaînes ou des fichiers, et renvoyer des objets Simplexml

Dans cette méthode, si le XML Le format est incorrect, un rapport d'erreur

$str = "不是xml字符串";
$data = simplexml_load_string($str);
var_dump($data);
Copier après la connexion

sera généré directement pour obtenir

bool(false)
PHP Warning:  simplexml_load_string(): Entity: line 1: parser error : Start tag expected, &#39;<&#39; 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
Copier après la connexion

Il s'agit d'une erreur PHP, pas d'une exception, donc try{}catch(){) ne peut pas être utilisé. pour le gérer

Cette partie des connaissances pourra être améliorée à l'avenir (principalement parce que les seniors ont écrit tellement d'articles)

[Apprentissage recommandé : "Tutoriel vidéo PHP "]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal