Compartir a través de


Función 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 de VARIANT del jsonStr.

Sintaxis

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 la cadena JSON no es válida, el resultado es un error. Para devolver NULL en lugar de un error, use la función try_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(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 parse_json('{"key": 123, "data": [4, 5, "str"]}');
  {"data":[4,5,"str"],"key":123}

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

-- invalid JSON string
> SELECT parse_json('{ bad }');
  [MALFORMED_RECORD_IN_PARSING.WITHOUT_SUGGESTION] Malformed records are detected in record parsing: { bad }.