JSONParsedState
Returnerar 0 om JSON inte har parsats, -1 om JSON har parsats men är ogiltig, eller ett positivt tal som representerar JSON-typen om den parsats och är giltig.
Format
JSONParsedState ( json )
Parametrar
json
– ett textuttryck eller fält som innehåller ett JSON-objekt eller -matris.
Returnerad datatyp
nummer
Ursprungsversion
22.0
Beskrivning
JSONParsedState anger om angiven JSON har parsats (och har en binär representation i minnet) och om JSON är giltigt eller ogiltigt. Funktionen returnerar:
-
0 om JSON inte har blivit parsats (ingen binär representation finns i minnet).
-
-1 om JSON har parsats men är ogiltig. Om JSON används med de andra JSON-funktionerna returnerar de ”?” följt av ett felmeddelande.
-
1-6 om JSON är giltigt och har parsats. Värdet motsvarar en av JSON-typerna som definieras i JSONSetElement.
Om du uttryckligen vill parsa JSON-text ska du använda Funktionen JSONParse.
Exempel 1
-
JSONParse ( "[3]" )
returnerar [3] eftersom JSONParse returnerar ingående JSON som text om det är giltig JSON. -
Let ( $a = JSONParse ("[3") ; JSONParsedState ($a) )
returnerar -1 eftersom $a angetts till en parsad men ogiltig JSON-matris. -
Let ( $a = "[3]" ; JSONParsedState ($a) )
returnerar 0 eftersom $a inte har parsats. -
JSONParsedState ( JSONParse (Pi) )
returnerar -1 eftersom värdet Pi har tolkats men inte är giltig JSON. -
Let ( $a = JSONSetElement ( "" ; "a" ; "b" ; JSONString ) ; JSONParsedState ($a) )
returnerar 3 eftersom JSONSetElement skapade ett parsat JSON-objekt som lagras i $a. -
Let ( $a = JSONParse ("[3]") ; JSONParsedState ($a) )
returnerar 4 eftersom $a har parsats och innehåller en JSON-matris. -
JSONParsedState ( JSONParse ("") )
returnerar -1 eftersom en tom sträng har parsats men den är ogiltig som JSON.
Exempel 2
Let ( [
a = "[3"; /* Strängen är en ogiltig JSON-matris */
b = JSONParse ( a ) ; /* Fel: Indata är ogiltig JSON */
c = JSONParsedState ( a ) ; /* 0: 'a' är bara text ännu (har inte parsats) */
d = JSONParsedState ( b ) ; /* -1: 'b' har parsats men är ogiltigt */
e = JSONFormatElements ( b ) ; /* Fel: 'b' är ogiltigt */
f = JSONFormatElements ( a ) /* Fel: JSON-text i 'a' är ogiltig */
] ;
a &¶& b &¶& c &¶& d &¶& e &¶& f
)
Returnerar:
[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
Om variabeln a
däremot är en giltig JSON-matris ("[3]"), returnerar det här exemplet följande:
[3]
[3]
0
4
[ 3 ]
[ 3 ]
Notera dessa skillnader:
-
Rad 2:
JSONParse ( a )
returnerar den ursprungliga texten som skickades in JSONParse. -
Rad 4:
JSONParsedState ( b )
återspeglar att variabelb
har parsats och är en giltig JSON-matris. -
Rad 5 och 6: JSONFormatElements returnerar formaterad text för både parsad JSON i
b
och JSON som text ia
.