Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sürüm açılan listesini kullanarak hizmetler arasında geçiş yapın. Gezinti hakkında daha fazla bilgi edinin.
Şunlar için geçerlidir: ✅ Microsoft Fabric ✅ Azure Veri Gezgini ✅ Azure İzleyici ✅ Microsoft Sentinel
bir string değerini JSON değeri olarak yorumlar ve değerini olarak dynamicdö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 parse_json() işlevini extract_json() işlevi üzerinde kullanmak daha iyidir. Mümkün olduğunda dynamic() kullanın.
Kullanım dışı bırakılan diğer adlar: parsejson(), toobject(), todynamic()
Sözdizimi
parse_json(
Json)
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
| Ad | Tür | Zorunlu | 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 dynamicbir nesne:
- json türündeyse
dynamicdeğeri olduğu gibi kullanılır. - json türündeyse ve düzgün biçimlendirilmiş bir
string, dize ayrıştırılır ve üretilen değer döndürülür. - json türündeyse bir nesnedir.
Örnekler
Bu bölümdeki örneklerde, kullanmaya başlamanıza yardımcı olması için söz diziminin nasıl kullanılacağı gösterilmektedir.
Süre ölçümleri ayrıştırma
Aşağıdaki örnekte, şuna benzeyen bir context_custom_metrics ne zamandırstring:
{"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 duration yuvasının değerini alır ve bundan duration.value ve duration.min (sırasıyla118.0 ve 110.0) iki yuva alır.
datatable(context_custom_metrics:string)
[
'{"duration":{"value":118.0,"count":5.0,"min":100.0,"max":150.0,"stdDev":0.0,"sampledValue":118.0,"sum":118.0}}'
]
| extend d = parse_json(context_custom_metrics)
| extend duration_value = d.duration.value, duration_min = d.duration.min
Çıktı
| context_custom_metrics | d | duration_value | duration_min |
|---|---|---|---|
| {"duration":{"value":118.0,"count":5.0,"min":100.0,"max":150.0,"stdDev":0.0,"sampledValue":118.0,"sum":118.0}} | {"duration":{"value":118,"count":5,"min":100,"max":150,"stdDev":0,"sampledValue":118,"sum":118}} | 118 | 100 |
İç içe JSON ayrıştırma
"Yuvalardan" birinin başka bir JSON dizesi olduğu bir özellik paketini açıklayan bir JSON dizesinin olması yaygın bir durumdur.
Örneğin:
let d='{"a":123, "b":"{\\"c\\":456}"}';
print d
Çıktı
| print_0 |
|---|
| {"a":123, "b":"{"c":456}"} |
Bu gibi durumlarda, yalnızca iki kez çağırmak parse_json gerekmez, aynı zamanda ikinci çağrıda tostring kullanıldığından emin olmak için de gereklidir. Aksi takdirde, parse_json için ikinci çağrı yalnızca çıkış as-isgiriş geçirir çünkü bildirilen türü dynamic.
let d='{"a":123, "b":"{\\"c\\":456}"}';
print d_b_c=parse_json(tostring(parse_json(d).b)).c
Ouput
| d_b_c |
|---|
| 456 |
İlgili içerik
- ayrıştırma işleci
- eklenti bag_unpack
- mv-expand işleci