Condividi tramite


Funzione parse_json

Si applica a: segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 15.3 e versioni successive

Restituisce un valore VARIANT da jsonStr.

Sintassi

parse_json ( jsonStr )

Argomenti

  • jsonStrSTRING: espressione che specifica un documento JSON.

Valori restituiti

Valore VARIANT che rappresenta i dati equivalenti come jsonStr stringa JSON.

Se la stringa JSON non è valida, il risultato è un errore. Per restituire NULL invece di un errore, usare la funzione try_parse_json .

Note

La funzione to_json converte un VARIANT valore in un STRING valueoggetto , pertanto è logicamente l'inverso di parse_json. Tuttavia, non è un inverso esatto , quindi to_json(parse_json(jsonStr)) = jsonStr potrebbe non essere vero.

  • Gli spazi vuoti non sono perfettamente conservati

    { “a” : 1, “b” : 2 } equivale a {“a”:1,“b”:2}

  • L'ordinamento delle chiavi può essere arbitrario

    {“a” : 1, “b”: 2} equivale a {“b”: 2, “a” : 1}

  • Zeri finali in numeri

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

Esempi

-- 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 }.