JSONParsedState
Devuelve 0 si no se ha analizado JSON, -1 si se ha analizado, pero no es válido; o un número positivo que representa el tipo de JSON, si se ha analizado y es válido.
Formato
JSONParsedState ( json )
Parámetros
json
- any text expression or field that contains a JSON object or array.
Tipo de datos devuelto
número
Se origina en
22.0
Descripción
JSONParsedState indica si el contenido JSON especificado se ha analizado (y tiene una representación binaria en la memoria), y si es válido o no. Esta función devuelve:
-
0 si no se ha analizado el contenido JSON (no existe representación binaria en la memoria).
-
-1 si se ha analizado el contenido JSON, pero no es válido. Si este contenido JSON se utiliza con las otras funciones JSON, estas devuelven "?". seguido de un mensaje de error.
-
1-6 si el JSON es válido y se ha analizado. El valor se corresponde con uno de los tipos JSON definidos en JSONSetElement.
Para analizar explícitamente texto JSON, utilice la función JSONParse.
Ejemplo 1
-
JSONParse ( "[3]" )
devuelve [3] porque JSONParse devuelve el contenido JSON de entrada como texto si este es válido. -
Let ( $a = JSONParse ("[3") ; JSONParsedState ($a) )
devuelve -1 porque $a es una matriz JSON analizada, pero no válida. -
Let ( $a = "[3]" ; JSONParsedState ($a) )
devuelve 0 porque $a no se ha analizado. -
JSONParsedState ( JSONParse (Pi) )
devuelve -1 porque el valor de Pi se ha analizado, pero no es contenido JSON válido. -
Let ( $a = JSONSetElement ( "" ; "a" ; "b" ; JSONString ) ; JSONParsedState ($a) )
devuelve 3 porque JSONSetElement ha creado un objeto JSON analizado almacenado en $a. -
Let ( $a = JSONParse ("[3]") ; JSONParsedState ($a) )
devuelve 4 porque $a se ha analizado y contiene una matriz JSON. -
JSONParsedState ( JSONParse ("") )
devuelve -1 porque se ha analizado una cadena vacía, que es contenido JSON no válido.
Ejemplo 2
Let ( [
a = "[3"; /* La cadena es una matriz JSON no válida. */
b = JSONParse ( a ) ; /* Error: la entrada es contenido JSON no válido. */
c = JSONParsedState ( a ) ; /* 0: 'a' sigue siendo solo texto (no analizado). */
d = JSONParsedState ( b ) ; /* -1: 'b' se ha analizado, pero no es válido. */
e = JSONFormatElements ( b ) ; /* Error: 'b' no es válido. */
f = JSONFormatElements ( a ) /* Error: el texto JSON de 'a' no es válido. */
] ;
a &¶& b &¶& c &¶& d &¶& e &¶& f
)
Devuelve:
[3
? * Línea 1, Columna 3
Falta ',' o ']' en la declaración de matriz
0
-1
? * Línea 1, Columna 3
Falta ',' o ']' en la declaración de matriz
? * Línea 1, Columna 3
Falta ',' o ']' en la declaración de matriz
Por el contrario, si la variable a
es una matriz JSON válida ("[3]"), este ejemplo devuelve:
[3]
[3]
0
4
[ 3 ]
[ 3 ]
Tenga en cuenta estas diferencias:
-
Línea 2:
JSONParse ( a )
devuelve el texto original transferido a JSONParse. -
Línea 4:
JSONParsedState ( b )
refleja que la variableb
se ha analizado y es una matriz JSON válida. -
Líneas 5 y 6: JSONFormatElements devuelve texto con formato para el contenido JSON analizado en
b
y el contenido JSON de texto ena
.