A get_json_object függvény

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

Kinyer egy JSON-objektumot a path-ből.

Jótanács

Új kód esetén Azure Databricks a VARIANT adattípus használatát javasolja a : operátorral a JSON-adatok lekérdezéséhez. VARIANT Jobb olvasási és írási teljesítményt, kis- és nagybetűket megkülönböztető mezőhozzáférést és tisztább szemantikát biztosít, mint a sztringalapú JSON-elemzés. Lásd: Miben különbözik a változat a JSON-sztringekétól?

Syntax

get_json_object(expr, path)

Argumentumok

  • expr: Jól formázott JSON-t tartalmazó KARAKTERLÁNC-kifejezés.
  • path: Egy JSONPath-kifejezést tartalmazó KARAKTERLÁNC-literál, amely a következő helyen $gyökerezik: . A támogatott szintaxist és a gyakori mintákat szemléltető példákat lásd a megjegyzésekben.

Visszatérések

EGY SZTRING.

Ha az objektum nem található, null értéket ad vissza.

Példák

-- 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

Jegyzetek

get_json_object A helyen gyökerező JSONPath szintaxist $használja. A mezőhozzáférés pont jelöléssel (.field) megkülönbözteti a kis- és nagybetűket, a szögletes zárójel jelölése (['field'] vagy ) megkülönbözteti a kis- és ["field"]nagybetűket. Ez eltér a Azure Databricks JSON-elérési út kifejezésétől a : operátorral a külön dokumentált VARIANT és JSON-sztringek lekérdezéséhez.