par

Bonjour, j'utilise les fonctions PHP json_encode et json_decode pour manipuler des données JSON. Comment puis-je vérifier que ces données sont correctement formatées en JSON et qu'il n'y a pas d'erreurs ?

Par exemple comment détecter que le flux JSON suivant n'est pas correctement formaté :

['JSON mal formaté

1 Réponse

+1 validé
par

Pour vérifier qu'un flux de données JSON est correctement formaté, en PHP, vous pouvez utiliser la CLASS JSON_THROW_ON_ERROR.

Par défaut, json_decode() renverra null lorsqu'il aura passé une chaîne JSON non valide. Cela pose un problème car un null isolé est une chaîne JSON valide. Vous n'avez aucun moyen de savoir si la valeur de retour null est due au JSON contenant null, ou parce que le flux JSON était mal formé et n'a pas pu être analysé.

PHP 7.3 a finalement résolu ce problème en ajoutant l'indicateur JSON_THROW_ON_ERROR.

json_decode("['JSON mal formaté", true, 512, JSON_THROW_ON_ERROR);

Vous pouvez également utiliser les arguments nommés de PHP 8 pour simplifier un peu les choses, car vous n'aurez pas besoin de transmettre des valeurs explicites pour les paramètres facultatifs :

json_decode(json:"['JSON mal formaté", flags: JSON_THROW_ON_ERROR);

Remarque : les constantes d'erreurs PHP sont listées sur cette page, vous trouverez par ailleurs d'avantage d'informations sur JSON_THROW_ON_ERROR via cette autre page.

Lectures Recommandées

Régis Chaperon - Welcome Reset

"Lorsqu'un virus informatique d'une nouvelle génération infecte en quelques heures les systèmes de distribution électriques, le monde entier se retrouve plongé dans le noir. Les banques, les distributeurs de billets, le chauffage, tout s'arrête."

Mais si même une intelligence artificielle américaine est incapable de vaincre le virus, est-ce qu'un homme qui a fui la modernité saura découvrir la faiblesse de ce virus informatique inconnu ?

Welcome Reset est un roman bien rythmé, efficace et réaliste.

Edward Snowden - Mémoires vives

"Je m'appelle Edward Joseph Snowden. Avant, je travaillais pour le gouvernement mais aujourd'hui je suis au service de tous. Il m'a fallu près de trente ans pour saisir la différence et quand j'ai compris, ça m'a valu quelques ennuis au bureau."

L'homme qui a tout risqué pour dénoncer la surveillance globale, ou l'extraordinaire histoire d'un garçon brillant qui a grandi "en ligne", d'un homme devenu espion, puis lanceur d'alerte, et, en exil, la consciencce de l'internet.

Mémoires vives est un témoignage exceptionnel, également disponible en numérique.

Sujets Connexes

Offre Sponsorisée

Ailleurs sur le Web

Questions liées

Merci pour votre visite sur 1FORMATIK.com

Un petit clic sur la pub est toujours apprécié, c'est elle qui finance le site

Bon surf

...