Funkce get_json_object

Platí pro:zaškrtnuto ano Databricks SQL zaškrtnuto ano 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ě.