parse_json()

Menafsirkan string sebagai nilai JSON dan mengembalikan nilai sebagai dynamic. Jika memungkinkan, nilai diubah menjadi jenis data yang relevan. Untuk penguraian ketat tanpa konversi jenis data, gunakan fungsi extract() atau extract_json().

Lebih baik menggunakan fungsi parse_json() daripada fungsi extract_json() ketika Anda perlu mengekstrak lebih dari satu elemen objek majemuk JSON. Gunakan dynamic() jika memungkinkan.

Alias yang tidak digunakan lagi: parsejson(), toobject(), todynamic()

Sintaks

parse_json(Json)

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter

Nama Jenis Diperlukan Deskripsi
json string ✔️ String dalam bentuk nilai berformat JSON atau tas properti dinamis untuk diurai sebagai JSON.

Mengembalikan

Objek jenis dynamic yang ditentukan oleh nilai json:

Contoh

Dalam contoh berikut, saat context_custom_metrics adalah string yang terlihat seperti ini:

{"duration":{"value":118.0,"count":5.0,"min":100.0,"max":150.0,"stdDev":0.0,"sampledValue":118.0,"sum":118.0}}

kemudian kueri berikut mengambil nilai duration slot dalam objek, dan dari itu ia mengambil dua slot, duration.value dan duration.min (118.0 dan 110.0, masing-masing).

T
| extend d=parse_json(context_custom_metrics) 
| extend duration_value=d.duration.value, duration_min=d["duration"]["min"]

Catatan

Adalah umum untuk memiliki string JSON yang menggambarkan bag properti tempat salah satu "slot" adalah string JSON lain.

Contohnya:

let d='{"a":123, "b":"{\\"c\\":456}"}';
print d

Dalam kasus seperti itu, tidak hanya perlu untuk memanggil parse_json dua kali, tetapi juga untuk memastikan bahwa dalam panggilan kedua, tostring digunakan. Jika tidak, panggilan kedua ke parse_json akan meneruskan input ke output apa adanya, karena jenis yang dideklarasikan adalah dynamic.

let d='{"a":123, "b":"{\\"c\\":456}"}';
print d_b_c=parse_json(tostring(parse_json(d).b)).c