Compartir a través de


Función try_parse_json

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime 15.3 y versiones posteriores

Devuelve un valor VARIANT del jsonStr si es posible, o NULL si no es posible.

Sintaxis

try_parse_json ( jsonStr )

Argumentos

  • jsonStr: expresión STRING que especifica un documento JSON.

Devoluciones

Valor VARIANT que representa los datos equivalentes como cadena jsonStr JSON. Si hay un error al analizar la cadena JSON, el resultado es NULL.

Para devolver un error en lugar de NULL, use la función parse_json.

Notas

La función to_json convierte un valor de VARIANT en un STRING value, por lo que es lógicamente el inverso de parse_json. Sin embargo, no es un inverso exacto, por lo que to_json(try_parse_json(jsonStr)) = jsonStr puede que no sea cierto.

  • El espacio en blanco no se conserva perfectamente

    { “a” : 1, “b” : 2 } es equivalente a {“a”:1,“b”:2}

  • La ordenación de claves puede ser arbitraria

    {“a” : 1, “b”: 2} es equivalente a {“b”: 2, “a” : 1}

  • Ceros finales en números

    {“a” : 0.01000} equivale a {“a” : 0.01}.

Ejemplos

-- Simple example
> SELECT try_parse_json('{"key": 123, "data": [4, 5, "str"]}');
  {"data":[4,5,"str"],"key":123}

-- Parsing a scalar value
> SELECT try_parse_json('123');
  123

-- invalid JSON string
> SELECT try_parse_json('{ bad }');
  NULL