JSONParsedState

Retourneert 0 als JSON niet is geparseerd, -1 als JSON is geparseerd maar ongeldig is of een positief getal dat het JSON-type vertegenwoordigt als JSON is geparseerd en geldig is.

Opmaak 

JSONParsedState ( json )

Parameters 

json - een tekstuitdrukking of een veld dat een JSON-object of een array bevat.

Resulterend gegevenstype 

getal

Afkomstig uit versie 

22.0

Beschrijving 

JSONParsedState geeft aan of de opgegeven JSON is geparseerd (en of er een binaire weergave in het geheugen aanwezig is) en of de JSON geldig of ongeldig is. Deze functie geeft als resultaat:

  • 0 als de JSON niet is geparseerd (er is geen binaire weergave aanwezig in het geheugen).

  • -1 als de JSON is geparseerd, maar ongeldig is. Als deze JSON wordt gebruikt met de andere JSON-functies, retourneren ze '?' gevolgd door een foutbericht.

  • 1-6 als de JSON geldig en geparseerd is. De waarde komt overeen met een van de JSON-typen die zijn gedefinieerd in JSONSetElement.

Gebruik de functie JSONParse functie om JSON-tekst expliciet te parseren.

Voorbeeld 1 

  1. JSONParse ( "[3]" ) geeft [3] terug omdat JSONParse de ingevoerde JSON als tekst retourneert als het geldige JSON is.

  2. Let ( $a = JSONParse ("[3") ; JSONParsedState ($a) ) geeft -1 terug, omdat $A is ingesteld op een geparseerde maar ongeldige JSON-array.

  3. Let ( $a = "[3]" ; JSONParsedState ($a) ) retourneert 0, omdat $a niet is geparseerd.

  4. JSONParsedState ( JSONParse (Pi) ) retourneert -1 omdat de waarde Pi is geparseerd maar niet geldig is voor JSON.

  5. Let ( $a = JSONSetElement ( "" ; "a" ; "b" ; JSONString ) ; JSONParsedState ($a) ) retourneert 3, omdat JSONSetElement een geparseerd JSON object heeft gemaakt dat is opgeslagen in $a.

  6. Let ( $a = JSONParse ("[3]") ; JSONParsedState ($a) ) retourneert 4, omdat $A is geparseerd en een JSON-array bevat.

  7. JSONParsedState ( JSONParse ("") ) retourneert -1, omdat een lege tekenreeks is geparseerd, wat een ongeldige JSON is.

Voorbeeld 2 

Kopiëren
Let ( [
  a = "[3";                      /* String is een ongeldige JSON-array */
  b = JSONParse ( a ) ;          /* Fout: Invoer is ongeldige JSON */
  c = JSONParsedState ( a ) ;    /* 0: 'a' is nog steeds alleen tekst (niet geparseerd) */
  d = JSONParsedState ( b ) ;    /* -1: 'b' is geparseerd, maar is ongeldig */
  e = JSONFormatElements ( b ) ; /* Fout: 'b' is ongeldig */
  f = JSONFormatElements ( a )   /* Fout: JSON-tekst in 'a' is ongeldig */
] ;
  a &¶& b &¶& c &¶& d &¶& e &¶& f
)

Geeft als resultaat:

Kopiëren
[3
? * Regel 1, Kolom 3
  Ontbreekt ',' of ']' in arraydeclaratie
0
-1
? * Regel 1, kolom 3
  Ontbreekt ',' of ']' in arraydeclaratie
? * Regel 1, kolom 3
  Ontbreekt ',' of ']' in arraydeclaratie

Als variabele a daarentegen een geldige JSON-array is ("[3]"), wordt in dit voorbeeld het volgende geretourneerd:

Kopiëren
[3]
[3]
0
4
[ 3 ]
[ 3 ]

Let op deze verschillen:

  • Regel 2: JSONParse ( a ) geeft de oorspronkelijke tekst als resultaat die aan JSONParse is doorgegeven.

  • Regel 4: JSONParsedState ( b ) geeft aan dat variabele b is geparseerd en een geldige JSON-array is.

  • Regels 5 en 6: JSONFormatElements retourneert opgemaakte tekst voor zowel de geparseerde JSON in b als de tekst-JSON in a.