simdjson_is_valid
Vérifie si une chaîne JSON est valide
&reftitle.description;
boolsimdjson_is_valid
stringjson&false;
intdepth512
Prend une chaîne encodée en JSON et retourne true si elle est valide.
&reftitle.parameters;
json
Le string json à valider.
Cette fonction ne fonctionne qu'avec des chaînes encodées en UTF-8.
Cette fonction valide les entrées que
json_decode peut décoder,
à condition qu'elles soient inférieures à 4 Go de longueur.
depth
La profondeur maximale de la structure à décoder.
La valeur doit être supérieure à 0,
et inférieure ou égale à 2147483647.
Ceux qui appellent cette fonction devraient utiliser des valeurs raisonnablement petites,
car des profondeurs plus importantes nécessitent plus d'espace tampon et augmenteront
la profondeur de récursion, contrairement à l'implémentation actuelle de json_decode.
&reftitle.returnvalues;
Renvoie &true; si json est une chaîne JSON
valide, sinon &false;.
&reftitle.errors;
Si json est invalide, une SimdJsonException est lancée à partir de PECL simdjson 2.1.0,
alors qu'auparavant, une RuntimeException était lancée.
Si depth est en dehors de la plage autorisée,
une SimdJsonValueError est lancée à partir de PECL simdjson 3.0.0,
alors qu'auparavant, une erreur de niveau E_WARNING était lancée.
&reftitle.examples;
Exemples de simdjson_decode
]]>
&example.outputs;
Erreurs de depth
array -> array -> string)
$json = json_encode(
[
1 => [
'English' => [
'One',
'January'
],
'French' => [
'Une',
'Janvier'
]
]
]
);
// Afficher les erreurs pour différentes profondeurs.
var_dump(simdjson_is_valid($json, 4));
var_dump(simdjson_is_valid($json, 3));
?>
]]>
&example.outputs;
&reftitle.notes;
La spécification JSON n'est pas JavaScript, mais un sous-ensemble de JavaScript.
Dans le cas où le décodage échoue,
une SimdJsonException est lancée
et SimdJsonException::getCode et
SimdJsonException::getMessage peuvent être utilisés
pour déterminer la nature exacte de l'erreur.
&reftitle.seealso;
json_encode
json_decode