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 

  1. JSONParse ( "[3]" ) restituisce [3] perché JSONParse restituisce il JSON di input come testo se è un JSON valido.

  2. Dichiara ( $a = JSONParse ("3") ; JSONParsedState ($a) ) restituisce -1 perché $a è stato impostato su un array JSON analizzato ma non valido.

  3. Dichiara ( $a = "[3]" ; JSONParsedState ($a) ) restituisce 0 perché $a non è stato analizzato.

  4. JSONParsedState ( JSONParse (Pi) ) restituisce -1 perché il valore Pi è stato analizzato ma non è un JSON valido.

  5. Dichiara ( $a = JSONSetElement ( "" ; "a" ; "b" ; JSONString ) ; JSONParsedState ($a) ) restituisce 3 perché JSONSetElement ha creato un oggetto JSON analizzato memorizzato in $a.

  6. Dichiara ( $a = JSONParse ("[3]") ; JSONParsedState ($a) ) restituisce 4 perché $a è stato analizzato e contiene un array JSON.

  7. JSONParsedState ( JSONParse ("") ) restituisce -1 perché è stata analizzata una stringa vuota, che è un JSON non valido.

Esempio 2 

Copia
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:

Copia
[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:

Copia
[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 variabile b è 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 in a.