parse_json()
bir string
değerini JSON değeri olarak yorumlar ve değerini olarak dynamic
döndürür. Mümkünse, değer ilgili veri türlerine dönüştürülür. Veri türü dönüştürmesi olmadan katı ayrıştırma için extract() veya extract_json() işlevlerini kullanın.
Bir JSON bileşik nesnesinin birden fazla öğesini ayıklamanız gerektiğinde extract_json() işlevi üzerinde parse_json() işlevini kullanmak daha iyidir. Mümkün olduğunda dynamic() kullanın.
Kullanım dışı diğer adlar: parsejson(), toobject(), todynamic()
Syntax
parse_json(
Json)
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
Ad | Tür | Gerekli | Açıklama |
---|---|---|---|
Json | string |
✔️ | JSON olarak ayrıştırmak için JSON biçimli değer veya dinamik özellik paketi biçimindeki dize. |
Döndürülenler
json değeri tarafından belirlenen türdeki dynamic
bir nesne:
- json türündeyse
dynamic
değeri olduğu gibi kullanılır. - json türündeyse
string
ve düzgün biçimlendirilmiş bir JSON dizesiyse, dize ayrıştırılır ve üretilen değer döndürülür. - json türündeyse
string
ancak düzgün biçimlendirilmiş bir JSON dizesi değilse, döndürülen değer özgünstring
değeri tutan türdedynamic
bir nesnedir.
Örnek
Aşağıdaki örnekte, şuna benzeyen bir string
olduğundacontext_custom_metrics
:
{"duration":{"value":118.0,"count":5.0,"min":100.0,"max":150.0,"stdDev":0.0,"sampledValue":118.0,"sum":118.0}}
ardından aşağıdaki sorgu nesnedeki yuvanın duration
değerini alır ve bundan iki yuva duration.value
alır ve duration.min
(118.0
ve 110.0
sırasıyla ).
T
| extend d=parse_json(context_custom_metrics)
| extend duration_value=d.duration.value, duration_min=d["duration"]["min"]
Notlar
"Yuvalardan" birinin başka bir JSON dizesi olduğu bir özellik torbasını açıklayan bir JSON dizesine sahip olmak yaygın bir durumdur.
Örnek:
let d='{"a":123, "b":"{\\"c\\":456}"}';
print d
Bu gibi durumlarda, yalnızca iki kez çağrı parse_json
yapılması gerekmez, aynı zamanda ikinci çağrıda tostring
kullanıldığından emin olmak için de gereklidir. Aksi takdirde, bildirilen türü dynamic
olduğu için parse_json
ikinci çağrısı girişi olduğu gibi çıkışa geçirir.
let d='{"a":123, "b":"{\\"c\\":456}"}';
print d_b_c=parse_json(tostring(parse_json(d).b)).c
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin