Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Funkce
Platí pro:
Databricks SQL
Databricks Runtime
Extrahuje objekt JSON z pathobjektu .
Tip
Pro nový kód Azure Databricks doporučujeme použít datový typ VARIANT s operátorem : dotazovat data JSON.
VARIANT nabízí lepší výkon čtení a zápisu, přístup k polím citlivým na malá a velká písmena a jasnější sémantiku než analýza JSON založená na řetězcích. Podívejte se, jak se varianta liší od řetězců JSON?
Syntaxe
get_json_object(expr, path)
Argumenty
-
expr: Řetězcový výraz obsahující dobře formátovaný JSON. -
path: Literál STRING obsahující výraz JSONPath rooted at$. Informace o podporovaných syntaxích a příkladech pro běžné vzory najdete v poznámkách.
Návraty
ŘETĚZEC.
Pokud objekt nebyl nalezen null je vrácen.
Příklady
-- 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
Poznámky
get_json_object používá syntaxi JSONPath rooted at $. Přístup k polím pomocí tečkované notace (.field) nerozlišuje malá a velká písmena; zápis závorek (['field'] nebo ["field"]) se rozlišují malá a velká písmena. To se liší od výrazu cesty Azure Databricks JSON používané s operátorem : k dotazování VARIANT a řetězců JSON, které jsou zdokumentované samostatně.