Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks SQL
Databricks Runtime
Extraheert een JSON-object uit path.
Tip
Voor nieuwe code raadt Azure Databricks aan om het gegevenstype VARIANT te gebruiken met de operator : om query's uit te voeren op JSON-gegevens.
VARIANT biedt betere lees- en schrijfprestaties, hoofdlettergevoelige veldtoegang en duidelijkere semantiek dan JSON-parsering op basis van tekenreeksen. Zie Hoe verschilt variant dan JSON-tekenreeksen?
Syntaxis
get_json_object(expr, path)
Argumenten
-
expr: Een TEKENREEKS-expressie die een goed opgemaakte JSON bevat. -
path: Een letterlijke tekenreeks die een JSONPath-expressie bevat die is geroot op$. Zie Notities voor ondersteunde syntaxis en voorbeelden voor veelvoorkomende patronen.
Retouren
EEN TEKENREEKS.
Als het object niet kan worden gevonden, wordt null geretourneerd.
Voorbeelden
-- 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
Aantekeningen
get_json_object gebruikt JSONPath-syntaxis die is geroot op $. Veldtoegang per punt notatie (.field) is niet hoofdlettergevoelig; haak notatie (['field'] of ["field"]) is hoofdlettergevoelig. Dit verschilt van de Azure Databricks JSON-padexpressie gebruikt met de operator : om query's uit te voeren op VARIANT en JSON-tekenreeksen, die afzonderlijk worden gedocumenteerd.