Condividi tramite


Funzione try_parse_json

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

Restituisce un VARIANT valore dall'oggetto jsonStr , se possibile, o NULL se non possibile.

Sintassi

try_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 si verifica un errore nell'analisi della stringa JSON, il risultato è NULL.

Per restituire un errore anziché NULL, usare la funzione 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(try_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 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