Validation d'une chaîne JSON avec la fonction PHP json_validate

Publié le 21/08/2024 • Actualisé le 21/08/2024


English language detected! 🇬🇧

  We noticed that your browser is using English. Do you want to read this post in this language?

Read the english version 🇬🇧 Close

Dans ce bout de code, nous voyons comment valider une chaîne JSON avec la fonction PHP json_validate. Cette fonction a été introduite dans PHP 8.3 et permet enfin d'éviter d'appeler deux fois la fonction json_decode().


<?php

declare(strict_types=1);

namespace App\Controller\Snippet;

/**
 * J'utilise un trait PHP afin d'isoler chaque snippet dans un fichier.
 * Ce code doit être apellé d'un contrôleur Symfony étendant AbstractController (depuis Symfony 4.2)
 * ou Symfony\Bundle\FrameworkBundle\Controller\Controller (Symfony <= 4.1).
 * Les services sont injectés dans le constructeur du contrôleur principal.
 */
trait Snippet315Trait
{
    public function snippet315(): void
    {
        $strings = [
            '{foo: bar}', // invalid: key and value not quoted
            '{"foo": "bar"}',
        ];

        foreach ($strings as $string) {
            echo $string.' '.(json_validate($string) ? '✅' : '❌').PHP_EOL;
        }

        // That's it! 😁
    }
}

 Exécuter le snippet  Plus sur Stackoverflow   Lire la doc  Snippet aléatoire

  Travaillez avec moi !