JSONParsedState
Restituisce 0 se JSON non è analizzato, -1 se analizzato ma non valido, o un numero positivo che rappresenta il tipo JSON se analizzato e valido.
Formato
JSONParsedState ( json )
Parametri
json
- qualsiasi espressione di testo o campo contenente un oggetto o una matrice JSON.
Tipo di dati riportato
Numero
Creata nella versione
22.0
Descrizione
JSONParsedState indica se il JSON specificato è stato analizzato (e ha una rappresentazione binaria in memoria) e se è valido o no. Questa funzione restituisce:
-
0 se il JSON non è stato analizzato (non esiste una rappresentazione binaria in memoria).
-
-1 se il JSON è stato analizzato ma non è valido. Se questo JSON viene utilizzato con le altre funzioni JSON, restituisce "?" seguito da un messaggio di errore.
-
1-6 se il JSON è valido e analizzato. Il valore corrisponde a uno dei tipi di JSON definiti in JSONSetElement.
Per analizzare esplicitamente il testo JSON, utilizzare la funzione funzione JSONParse.
Esempio 1
-
JSONParse ( "[3]" )
restituisce [3] perché JSONParse restituisce il JSON di input come testo se è un JSON valido. -
Dichiara ( $a = JSONParse ("3") ; JSONParsedState ($a) )
restituisce -1 perché $a è stato impostato su un array JSON analizzato ma non valido. -
Dichiara ( $a = "[3]" ; JSONParsedState ($a) )
restituisce 0 perché $a non è stato analizzato. -
JSONParsedState ( JSONParse (Pi) )
restituisce -1 perché il valore Pi è stato analizzato ma non è un JSON valido. -
Dichiara ( $a = JSONSetElement ( "" ; "a" ; "b" ; JSONString ) ; JSONParsedState ($a) )
restituisce 3 perché JSONSetElement ha creato un oggetto JSON analizzato memorizzato in $a. -
Dichiara ( $a = JSONParse ("[3]") ; JSONParsedState ($a) )
restituisce 4 perché $a è stato analizzato e contiene un array JSON. -
JSONParsedState ( JSONParse ("") )
restituisce -1 perché è stata analizzata una stringa vuota, che è un JSON non valido.
Esempio 2
Dichiara ( [
a = "[3"; /* La stringa è un array JSON non valido*/
b = JSONParse ( a ) ; /* Errore: l'input è un JSON non valido*/
c = JSONParsedState ( a ) ; /* 0: 'a' è ancora solo testo (non analizzato) */
d = JSONParsedState ( b ) ; /* -1: 'b' è stato analizzato ma non è valido */
e = JSONFormatElements ( b ) ; /* Errore: 'b' non è valido */
f = JSONFormatElements ( a ) /* Errore: il testo JSON in 'a' non è valido */
] ;
a &¶& b &¶& c &¶& d &¶& e &¶& f
)
Restituisce:
[3
? * Riga 1, Colonna 3
Manca ',' o ']' nella dichiarazione array
0
-1
? * Riga 1, Colonna 3
Manca ',' o ']' nella dichiarazione array
? * Riga 1, Colonna 3
Manca ',' o ']' nella dichiarazione array
Al contrario, se la variabile a
è un array JSON valido ("[3]"), questo esempio restituisce:
[3]
[3]
0
4
[ 3 ]
[ 3 ]
Si notino queste differenze:
-
Riga 2:
JSONParse ( a )
restituisce il testo originale passato a JSONParse. -
Riga 4:
JSONParsedState ( b )
indica che la variabileb
è stata analizzata ed è un array JSON valido. -
Righe 5 e 6: JSONFormatElements restituisce testo formattato sia per il JSON analizzato in
b
che per il testo JSON ina
.