Tüm Ürünler
Search
Belge Merkezi

Realtime Compute for Apache Flink:JSON_VALUE

Son Güncelleme:Oct 04, 2026

Belirtilen yoldaki değeri bir JSON dizesinden ayıklar ve bunu bir VARCHAR dizesi olarak döndürür. Yol bir dizi veya nesneyle eşleşirse, eşleşen yapı yerel bir tür olarak değil, serileştirilmiş bir VARCHAR dizesi olarak döndürülür.

Sınırlamalar

JSON_VALUE işlevi yalnızca Ververica Runtime (VVR) 3.0.0 veya sonraki sürümlerini kullanan Apache Flink için Realtime Compute ortamında desteklenir.

Söz dizimi

VARCHAR JSON_VALUE(VARCHAR content, VARCHAR path)

Parametreler

Parametre Veri türü Açıklama
content VARCHAR Ayrıştırılacak JSON dizesi. Parametre türü VARCHAR olmalıdır. Değilse, önce dönüştürmek için CAST kullanın; VARCHAR dışındaki bir değeri doğrudan iletmek ayrıştırma hatalarına ve beklenmeyen NULL sonuçlarına neden olabilir.
path VARCHAR Ayıklanacak değeri tanımlayan yol ifadesi. Yolu tek tırnak içine alın ('). Örnek: JSON_VALUE(json,'$.passenger_name') AS ABC

path parametresi aşağıdaki sembolleri destekler:

Sembol Anlamı
$ Kök nesne
[] Dizi alt simgesi
* Dizi joker karakteri
. Alt öğe

Kullanım notları

  • content geçersiz JSON içeriyorsa veya herhangi bir parametre NULL ise NULL döndürülür.

  • Yol bir dizi veya nesneyle eşleşirse, sonuç yerel bir dizi veya nesne yerine bu yapının VARCHAR dize gösterimi olur (örneğin, [30,40]).

Örnekler

Aşağıdaki örneklerde, farklı content ve path kombinasyonlarının çıktıyı nasıl etkilediğini göstermek amacıyla T1 tablosuna karşı tek bir SELECT deyimi kullanılır.

T1 Tablosu:

id (INT) json (VARCHAR) path1 (VARCHAR)
1 [10, 20, [30, 40]] $[2][*]
2 {"aaa":"bbb","ccc":{"ddd":"eee","fff":"ggg","hhh":["h0","h1","h2"]},"iii":"jjj"} $.ccc.hhh[*]
3 {"aaa":"bbb","ccc":{"ddd":"eee","fff":"ggg","hhh":["h0","h1","h2"]},"iii":"jjj"} $.ccc.hhh[1]
4 [10, 20, [30, 40]] NULL
5 NULL $[2][*]
6 "{xx]" "$[2][*]"

Test deyimi:

SELECT
    id,
    JSON_VALUE(json, path1) AS `value`
FROM
    T1;

Sonuçlar:

id (INT) value (VARCHAR) Notlar
1 [30,40] $[2] konumundaki dizi — * ile tüm öğeler, VARCHAR olarak serileştirildi
2 ["h0","h1","h2"] $.ccc.hhh konumundaki iç içe geçmiş dizi — * ile tüm öğeler, VARCHAR olarak serileştirildi
3 h1 hhh dizisindeki 1 indeksindeki tek öğe
4 NULL path1 NULL değerindedir
5 NULL json NULL değerindedir
6 NULL json geçersiz JSON içeriğidir

Sonraki adımlar