Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
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.