get_json_object işlevi

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

path öğesinden bir JSON nesnesi ayıklar.

Tip

Yeni kod için Azure Databricks JSON verilerini sorgulamak için VARIANT veri türünü: işleci kullanmanızı önerir. VARIANT dize tabanlı JSON ayrıştırmadan daha iyi okuma ve yazma performansı, büyük/küçük harfe duyarlı alan erişimi ve daha net semantik sunar. Bkz. Değişken JSON dizelerinden nasıl farklıdır?.

Söz dizimi

get_json_object(expr, path)

Tartışmalar

  • expr: İyi biçimlendirilmiş JSON içeren string ifadesi.
  • path: kök dizinine sahip $bir JSONPath ifadesi içeren STRING değişmez değeri. Bkz. Desteklenen söz dizimi için notlar ve yaygın desenler için örnekler .

İadeler

Bir dize.

Nesne bulunamıyorsa null döndürülür.

Örnekler

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

Notlar

get_json_object , kök $dizinine kök olarak eklenen JSONPath söz dizimlerini kullanır. Nokta gösterimine (.field) göre alan erişimi büyük/küçük harfe duyarlı değildir; köşeli ayraç gösterimi (['field'] veya ["field"]) büyük/küçük harfe duyarlıdır. Bu, ayrı olarak belgelenen Azure Databricks JSON yol ifadesi: işleciVARIANT ve JSON dizelerini sorgulamak için kullanılır.