get_json_object-Funktion

Gilt für:durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Extrahiert ein JSON-Objekt aus path.

Tip

Für neuen Code empfiehlt Azure Databricks die Verwendung des Datentyps VARIANT mit dem Operator : zum Abfragen von JSON-Daten. VARIANT bietet eine bessere Lese- und Schreibleistung, den Zugriff auf Groß-/Kleinschreibung und eine klarere Semantik als die zeichenfolgenbasierte JSON-Analyse. Siehe "Wie unterscheidet sich die Variante von JSON-Zeichenfolgen?"

Syntax

get_json_object(expr, path)

Argumente

  • expr: Ein STRING-Ausdruck, der wohlgeformten JSON-Code enthält.
  • path: Ein STRING-Literal, das einen JSONPath-Ausdruck enthält, der in $. Unter "Hinweise " finden Sie unterstützte Syntax und Beispiele für allgemeine Muster.

Gibt zurück

Die ist ein STRING-Element.

Wenn das Objekt nicht gefunden wird, wird NULL zurückgegeben.

Beispiele

-- Extract a top-level field
> SELECT get_json_object('{"a":"b"}', '$.a');
 b

-- Extract a nested field
> SELECT get_json_object('{"a":{"b":"c"}}', '$.a.b');
 c

-- Extract an array element by index
> SELECT get_json_object('{"items":["apple","pear"]}', '$.items[0]');
 apple

-- Extract a field whose name contains a space
> SELECT get_json_object('{"first name":"Ada"}', '$["first name"]');
 Ada

-- Extract a field whose name contains a dot, using bracket notation with double quotes
> SELECT get_json_object('{"ids":{"a.b":"42"}}', '$.ids["a.b"]');
 42

-- Extract a field from every element of an array
> SELECT get_json_object('{"items":[{"n":1},{"n":2}]}', '$.items[*].n');
 [1,2]

-- Returns NULL when the path does not match
> SELECT get_json_object('{"a":"b"}', '$.missing');
 NULL

Hinweise

get_json_object verwendet JSONPath-Syntax, die in $. Bei Feldzugriff durch Punktnotation (.field) wird die Groß-/Kleinschreibung beachtet. Bei der Schreibweise der Klammer (['field'] oder ["field"]) wird die Groß-/Kleinschreibung beachtet. Dies unterscheidet sich vom Azure Databricks JSON-Pfadausdruck mit dem Operator :operator zum Abfragen VARIANT und JSON-Zeichenfolgen, die separat dokumentiert werden.