Freigeben über


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.

Syntax

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 die JSON-Zeichenfolge ungültig ist, ist das Ergebnis ein Fehler. Um NULL anstelle eines Fehlers zurückzugeben, verwenden Sie die try_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(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 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 }.