Gestion des données JSON mal formées avec json_decode() de PHP
Lorsque vous travaillez avec des données JSON en PHP à l'aide de json_decode(), il est essentiel de gérer les données invalides données pour éviter des erreurs inattendues. Le code suivant illustre une approche courante :
if (!json_decode($_POST)) { echo "bad json data!"; exit; }
Bien que cette approche fonctionne pour certains formats JSON non valides, elle ne parvient pas à détecter les erreurs si les données JSON ne sont pas une chaîne. Pour résoudre ce problème, tenez compte des informations suivantes :
Pour gérer les deux scénarios, vous pouvez utiliser plusieurs stratégies :
$_POST = ['invalid data']; $data = @json_decode($_POST);
Cependant, cette méthode n'est pas recommandée car elle peut rendre le débogage difficile.
if ($data === null && json_last_error() !== JSON_ERROR_NONE) { echo "incorrect data"; }
Cette approche vérifie les codes d'erreur et les gère en conséquence.
Vous pouvez créer une fonction personnalisée pour valider les données JSON, en tenant compte à la fois des entrées JSON valides et des entrées non-chaînes.
En résumé, en tirant parti de ces techniques, vous pouvez gérer efficacement les données JSON mal formées dans vos applications PHP, garantissant ainsi une expérience plus robuste et sans erreur.
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!