Freigeben über


try_parse_json-Funktion

Gilt für: Häkchen gesetzt ja Databricks SQL Häkchen gesetzt ja Databricks Runtime 15.3 und höher

Gibt einen VARIANT-Wert von jsonStr zurück, sofern möglich; andernfalls wird NULL zurückgegeben.

Syntax

try_parse_json ( jsonStr )

Argumente

  • jsonStr: Ein STRING-Ausdruck, der ein JSON-Dokument angibt.

Gibt zurück

Ein VARIANT-Wert, der die entsprechenden Daten als jsonStr-JSON-Zeichenfolge darstellt. Wenn beim Parsen der JSON-Zeichenfolge ein Fehler auftritt, ist das Ergebnis NULL.

Wenn anstelle von NULL ein Fehler zurückgegeben werden soll, verwenden Sie die parse_json-Funktion.

Hinweise

Die to_json-Funktion wandelt einen VARIANT-Wert in STRING value um, sodass es es sich um eine logische Umkehrung von parse_json handelt. Es handelt sich jedoch nicht um eine genaue Umkehrung, daher ist to_json(try_parse_json(jsonStr)) = jsonStr möglicherweise nicht wahr.

  • Leerräume bleiben nicht perfekt erhalten.

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

  • Die Sortierung von Schlüsseln kann beliebig sein.

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

  • Nachstehende Nullen in Zahlen

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

Beispiele

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