Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A
A következőkre vonatkozik:
Databricks SQL
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.