JSONParsedState
Renvoie la valeur 0 si les données JSON n’ont pas été analysées, la valeur -1 si elles ont été analysées mais ne sont pas valides, ou une valeur positive représentant le type JSON si elles ont été analysées et sont valides.
Format
JSONParsedState ( json )
Paramètres
json
: une expression ou une rubrique de type Texte qui contient un objet ou un tableau JSON.
Résultat
Nombre
Provient de la version
22.0
Description
JSONParsedState indique si le JSON spécifié a été analysé (et a une représentation binaire en mémoire), et si le JSON est valide ou non. Cette fonction renvoie :
-
0 si le JSON n'a pas été analysé (aucune représentation binaire n'existe en mémoire).
-
-1 si le JSON a été analysé mais n'est pas valide. Si ce JSON est utilisé avec les autres fonctions JSON, elles renvoient "?" suivi d'un message d'erreur.
-
1-6 si le JSON est valide et analysé. La valeur correspond à l'un des types JSON définis dans JSONSetElement.
Pour analyser explicitement le texte JSON, utilisez la fonction JSONParse.
Exemple 1
-
JSONParse ( "[3]" )
renvoie [3] car JSONParse renvoie le JSON d'entrée sous forme de texte s'il s'agit d'un JSON valide. -
Definir ( $a = JSONParse ("[3") ; JSONParsedState ($a) )
renvoie -1 parce que $a a été défini sur un tableau JSON analysé mais invalide. -
Definir ( $a = "[3]" ; JSONParsedState ($a) )
renvoie 0 parce que $a n'a pas été analysé. -
JSONParsedState ( JSONParse (Pi) )
renvoie -1 parce que la valeur Pi a été analysée mais n'est pas un JSON valide. -
Definir ( $a = JSONSetElement ( "" ; "a" ; "b" ; JSONString ) ; JSONParsedState ($a) )
renvoie 3 parce que JSONSetElement a créé un objet JSON analysé, stocké dans $a. -
Definir ( $a = JSONParse ("[3]") ; JSONParsedState ($a) )
renvoie 4 car $a a été analysé et contient un tableau JSON. -
JSONParsedState ( JSONParse ("") )
renvoie -1 parce qu'une chaîne vide constituant un JSON invalide a été analysée.
Exemple 2
Definir ( [
a = "[3" ; /* La chaîne est un tableau JSON invalide */
b = JSONParse ( a ) ; /* Erreur: l'entrée est un JSON invalide */
c = JSONParsedState ( a ) ; /* 0: 'a' n'est toujours qu'au format texte (non analysé) */
d = JSONParsedState ( b ) ; /* -1: 'b' a été analysé mais est invalide */
e = JSONFormatElements ( b ) ; /* Erreur: 'b' est invalide */
f = JSONFormatElements ( a ) /* Erreur: le texte JSON dans 'a' est invalide */
] ;
a &¶& b &¶& c &¶& d &¶& e &¶& f
)
Résultat :
[3
? * Line 1, Column 3
Missing ',' or ']' in array declaration
0
-1
? * Line 1, Column 3
Missing ',' or ']' in array declaration
? * Line 1, Column 3
Missing ',' or ']' in array declaration
En revanche, si la variable a
est un tableau JSON valide ("[3]"), cet exemple renvoie :
[3]
[3]
0
4
[ 3 ]
[ 3 ]
Prenez note des différences suivantes :
-
Ligne 2 :
JSONParse ( a )
renvoie le texte original transmis à JSONParse. -
Ligne 4 :
JSONParsedState ( b )
reflète que la variableb
a été analysée et est un tableau JSON valide. -
Lignes 5 et 6 : JSONFormatElements renvoie du texte formaté pour le JSON analysé dans
b
et le texte JSON dansa
.