Versión especial de PARSE_JSON que devuelve NULL en lugar de generar un error cuando falla el análisis sintáctico.
Límites
Compatible únicamente con Ververica Runtime (VVR) 11.1.0 o versiones posteriores.
Sintaxis
VARIANT TRY_PARSE_JSON(VARCHAR jsonStr [, BOOLEAN allowDuplicateKeys])
Argumentos
|
Argumento |
Tipo de dato |
Descripción |
|
|
VARCHAR |
Cadena JSON para analizar sintácticamente. |
|
|
BOOLEAN |
(Opcional) Indica si se permiten claves duplicadas en la cadena JSON. |
Valor devuelto
Devuelve un valor VARIANT que contiene un documento JSON.
Devuelve NULL en los siguientes casos:
El valor de entrada
jsonStres NULL.La cadena JSON no es válida y no puede analizarse sintácticamente.
allowDuplicateKeysesfalse(predeterminado) y la cadena JSON contiene claves duplicadas.
Comparación entre PARSE_JSON y TRY_PARSE_JSON
|
Función |
Mecanismo de manejo de errores |
Valor devuelto para entrada JSON no válida |
Escenarios recomendados |
|
|
Genera errores de forma explícita. |
Devuelve un error. |
Se requiere validación estricta de la entrada. |
|
|
Tolera errores. |
Devuelve NULL. |
Se requiere tolerancia a entradas no válidas. |
Ejemplo
La tabla T1 contiene los siguientes datos de prueba:
|
jsonString (VARCHAR) |
|
|
|
|
Ejecute la siguiente consulta:
SELECT TRY_PARSE_JSON(jsonString) AS v
FROM T1;
Resultados:
|
v (VARIANT) |
|
|
|
NULL |
La segunda fila contiene JSON no válido ({), por lo que TRY_PARSE_JSON devuelve NULL. Si se usara PARSE_JSON en su lugar, la consulta fallaría con un error.