JSONParsedState

Gibt 0 zurück, wenn JSON nicht geparst wird, -1, wenn geparst, aber ungültig, oder eine positive Zahl, die den JSON-Typ angibt, wenn geparst und gültig.

Format 

JSONParsedState ( json )

Parameter 

json - beliebiger Textausdruck oder Feld, das ein JSON-Objekt oder -Array enthält.

Zurückgegebener Datentyp 

Zahl

Ursprung in Version 

22.0

Beschreibung 

JSONParsedState gibt an, ob der angegebene JSON geparst wurde (und eine binäre Darstellung im Speicher hat) und ob der JSON gültig oder ungültig ist. Gibt die Funktion zurück:

  • 0, wenn die JSON-Datei nicht geparst wurde (es existiert keine Binärdarstellung im Speicher).

  • -1, wenn die JSON-Datei geparst wurde, aber ungültig ist. Wenn dieser JSON mit den anderen JSON-Funktionen verwendet wird, geben sie „?“ gefolgt von einer Fehlermeldung zurück.

  • 1-6, wenn die JSON-Datei gültig ist und geparst wurde. Der Wert entspricht einem der in JSONSetElement definierten JSON-Typen.

Um JSON-Text explizit zu parsen, verwenden Sie die Funktion „JSONParse“.

Beispiel 1 

  1. JSONParse ( „[3]“ ) gibt [3] zurück, da JSONParse den eingegebenen JSON als Text zurückgibt, wenn es sich um einen gültigen JSON handelt.

  2. SetzeVar ( $a = JSONParse („[3“) ; JSONParsedState ($a) ) gibt -1 zurück, da $a auf ein geparstes, aber ungültiges JSON-Array gesetzt wurde.

  3. SetzeVar ( $a = „[3]“ ; JSONParsedState ($a) ) gibt 0 zurück, da $a nicht geparst wurde.

  4. JSONParsedState ( JSONParse (Pi) ) gibt -1 zurück, da der Wert Pi zwar geparst wurde, aber kein gültiger JSON ist.

  5. SetzeVar ( $a = JSONSetElement ( "" ; "a" ; "b" ; JSONString ) ; JSONParsedState ($a) ) gibt 3 zurück , da JSONSetElement ein geparstes JSON-Objekt erstellt hat, das in $a gespeichert ist.

  6. SetzeVar ( $a = JSONParse ("[3]") ; JSONParsedState ($a) ) gibt 4 zurück, weil $a geparst wurde und ein JSON-Array enthält.

  7. JSONParsedState ( JSONParse (") ) gibt -1 zurück, weil eine leere Zeichenfolge geparst wurde, was ein ungültiges JSON ist.

Beispiel 2 

Kopieren
Setze Var ( [
  a = "[3";                      /* String ist ein ungültiges JSON-Array */
  b = JSONParse ( a ) ;          /* Fehler: Eingabe ist kein gültiger JSON. */
  c = JSONParsedState ( a ) ;    /* 0: 'a' ist weiterhin nur Text (nicht geparst) */
  d = JSONParsedState ( b ) ;    /* -1: 'b' wurde analysiert, ist jedoch ungültig */
  e = JSONFormatElements ( b ) ; /* Fehler: 'b' ist ungültig */
  f = JSONFormatElements ( a )   /* Fehler: JSON-Text in 'a' ist ungültig */
] ;
  a &¶& b &¶& c &¶& d &¶& e &¶& f
)

Gibt Folgendes zurück:

Kopieren
[3
? * Zeile 1, Spalte 3
  Fehlt ',' oder ']' in Array-Deklaration 
0
-1
? * Zeile 1, Spalte 3
  Fehlt ',' oder ']' in Array-Deklaration 
? * Zeile 1, Spalte 3
  Fehlt ',' oder ']' in Array-Deklaration

Wenn hingegen die Variable a ein gültiges JSON-Array ("[3]") ist, gibt dieses Beispiel Folgendes zurück:

Kopieren
[3]
[3]
0
4
[ 3 ]
[ 3 ]

Beachten Sie folgende Unterschiede:

  • Zeile 2:  JSONParse ( a ) gibt den ursprünglichen Text zurück, der an JSONParse übergeben wurde.

  • Zeile 4: JSONParsedState ( b ) gibt an, dass die Variable b geparst wurde und ein gültiges JSON Array ist.

  • Zeilen 5 und 6: JSONFormatElements gibt formatierten Text sowohl für das geparste JSON in b als auch für den Text JSON in a zurück.