Aracılığıyla paylaş


parse_json()

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:

Ö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