Aller au contenu

PHP : script pour tester un json

Voici un exemple de script PHP qui vérifie si une chaîne de caractères est valide en JSON et renvoie une erreur si elle ne l’est pas :

<?php
    // La chaîne à tester
    $json_string = '{"name":"John Smith","age":35,"city":"New York"}';

    // Tester si la chaîne est valide en JSON
    json_decode($json_string);

    if (json_last_error() == JSON_ERROR_NONE) {
        echo 'La chaîne est valide en JSON.';
    } else {
        echo 'La chaîne n\'est pas valide en JSON. Erreur: ';
        switch (json_last_error()) {
            case JSON_ERROR_DEPTH:
                echo 'profondeur maximale atteinte';
                break;
            case JSON_ERROR_STATE_MISMATCH:
                echo 'erreur de fragmentation';
                break;
            case JSON_ERROR_CTRL_CHAR:
                echo 'caractère de contrôle inattendu';
                break;
            case JSON_ERROR_SYNTAX:
                echo 'erreur de syntaxe';
                break;
            case JSON_ERROR_UTF8:
                echo 'caractères UTF-8 malformés';
                break;
            default:
                echo 'erreur inconnue';
                break;
        }
    }
?>

La fonction json_decode est utilisée pour décoder la chaîne en JSON. Si la chaîne est valide, elle renvoie un objet PHP, sinon elle renvoie NULL.

La fonction json_last_error permet de connaitre le dernier code d’erreur rencontré lors de l’utilisation de json_decode ou json_encode, si elle retourne JSON_ERROR_NONE cela signifie qu’il n’y a pas eu d’erreur.

En utilisant un switch, on peut ensuite identifier le type d’erreur rencontrée pour l’afficher pour une meilleure compréhension pour l’utilisateur.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *