Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
✅ ✅ Azure Stream Analytics Fabric Eventstream
JSON_PARSE mengonversi string berformat JSON menjadi rekaman yang bisa Anda akses dan kueri. Gunakan fungsi ini saat peristiwa berisi objek JSON berlapis yang diserialisasikan sebagai string, seperti data properti dalam peristiwa perubahan Eventstream Fabric.
Mengapa menggunakan JSON_PARSE
Banyak skenario streaming, terutama integrasi Eventstream, berisi peristiwa di mana properti adalah dokumen JSON yang diserialisasikan sebagai string. Selama deserialisasi peristiwa, payload berlapis ini diperlakukan sebagai string, sehingga Anda tidak dapat langsung mengakses propertinya sebagai objek JSON. Gunakan JSON_PARSE untuk mengonversi JSON yang dikodekan string menjadi rekaman terstruktur yang propertinya dapat Anda akses dan kueri.
Syntax
JSON_PARSE ( jsonString )
Argumen
| Name | Type | Deskripsi |
|---|---|---|
jsonString |
nvarchar(max) |
Objek JSON yang valid diserialisasikan sebagai string. |
Tipe pengembalian
Mengembalikan objek JSON yang diurai sebagai nilai jenis record.
Penanganan kesalahan
JSON_PARSE adalah fungsi non-pelemparan. Jika penguraian tidak dapat diselesaikan, fungsi mengembalikan alih-alih NULL gagal dalam eksekusi kueri.
JSON_PARSE mengembalikan NULL ketika:
- Ekspresi input bukan nilai string yang didukung.
- String yang disediakan bukan JSON yang valid.
- Kegagalan konversi JSON lainnya terjadi.
Contoh
Contohnya menggunakan peristiwa input berikut. Properti old dan current berisi objek JSON yang diserialisasikan sebagai string.
{
"eventrow": {
"old": "{\"SalesOrderID\":\"65191\",\"SalesOrderDetailID\":\"89090\"}",
"current": "{\"SalesOrderID\":\"65191\",\"SalesOrderDetailID\":\"89090\",\"ProductName\":\"Touring-2000 Blue, 54\"}"
}
}
Mengurai string JSON berlapis
Kueri berikut mengonversi string eventrow.old JSON menjadi rekaman:
SELECT
JSON_PARSE(eventrow.old) AS ParsedOldRow
INTO Output
FROM Input
Mengakses properti dalam rekaman yang diurai
Kueri berikut mengurai eventrow.current dan mengakses properti dalam rekaman yang dikembalikan dengan menggunakan notasi titik:
WITH ParsedEvents AS
(
SELECT JSON_PARSE(eventrow.current) AS ParsedCurrent
FROM Input
)
SELECT
ParsedCurrent.SalesOrderID,
ParsedCurrent.ProductName
FROM ParsedEvents