json_validate
(PHP 8 >= 8.3.0)
json_validate — Vérifie si une chaîne contient du JSON valide
Description
Si json_validate() renvoie false
, la cause
peut être récupérée en utilisant json_last_error() et
json_last_error_msg().
json_validate() utilise moins de mémoire que
json_decode() si le contenu JSON décodé n'est pas
utilisé, car il n'a pas besoin de construire la structure de tableau
ou d'objet contenant le contenu.
Attention
Appeler json_validate() immédiatement avant
json_decode() analysera inutilement la chaîne
deux fois, car json_decode() effectue
implicitement une validation lors du décodage.
json_validate() ne doit donc être utilisé
que si le décodage du contenu JSON n'est pas immédiatement utilisé
et que savoir si la chaîne contient du JSON valide est nécessaire.
Liste de paramètres
json
-
La chaîne à valider.
Cette fonction ne fonctionne qu'avec des chaînes encodées en UTF-8.
Note:
PHP implémente un sur-ensemble de JSON tel que spécifié dans la
» RFC 7159 originale.
depth
-
Le niveau de profondeur maximum de la structure à décoder.
La valeur doit être supérieure à 0
,
et inférieure ou égale à 2147483647
.
flags
-
Aujourd'hui, seul
JSON_INVALID_UTF8_IGNORE
est accepté.
Valeurs de retour
Renvoie true
si la chaîne donnée est du JSON syntaxiquement valide, sinon
renvoie false
.
Erreurs / Exceptions
Si depth
est en dehors de la plage autorisée,
une ValueError est lancée.
Si flags
n'est pas un drapeau valide,
une ValueError est lancée.
Exemples
Exemple #1 Exemples de json_validate()
<?php
var_dump(json_validate('{ "test": { "foo": "bar" } }'));
var_dump(json_validate('{ "": "": "" } }'));
?>
L'exemple ci-dessus va afficher :