Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
✅Eventstream prostředků infrastruktury Azure Stream Analytics ✅
JSON_PARSE převede řetězec ve formátu JSON na záznam, ke kterému můžete přistupovat a dotazovat. Tuto funkci použijte, pokud událost obsahuje vnořený objekt JSON serializovaný jako řetězec, například data vlastnost v Fabric Eventstream change event.
Proč používat JSON_PARSE
Mnoho scénářů streamování, zejména integrace Eventstream, obsahuje události, ve kterých je vlastnost dokument JSON serializovaný jako řetězec. Během deserializace událostí se tyto vnořené datové části považují za řetězce, takže nemůžete přímo přistupovat k jejich vlastnostem jako objekty JSON. Slouží JSON_PARSE k převodu json s kódováním řetězce na strukturovaný záznam, jehož vlastnosti můžete přistupovat a dotazovat.
Syntax
JSON_PARSE ( jsonString )
Argumenty
| Name (Název) | Typ | Description |
|---|---|---|
jsonString |
nvarchar(max) |
Platný objekt JSON serializovaný jako řetězec. |
Návratový typ
Vrátí parsovaný objekt JSON jako hodnotu typu record.
Zpracování chyb
JSON_PARSE je nehodící funkce. Pokud parsování nejde dokončit, vrátí NULL funkce místo neúspěšného spuštění dotazu.
JSON_PARSE vrátí NULL , když:
- Vstupní výraz není podporovanou řetězcovou hodnotou.
- Zadaný řetězec není platný JSON.
- Dojde k dalšímu selhání převodu JSON.
Examples
Příklady používají následující vstupní událost. Vlastnosti old obsahují current objekty JSON serializované jako řetězce.
{
"eventrow": {
"old": "{\"SalesOrderID\":\"65191\",\"SalesOrderDetailID\":\"89090\"}",
"current": "{\"SalesOrderID\":\"65191\",\"SalesOrderDetailID\":\"89090\",\"ProductName\":\"Touring-2000 Blue, 54\"}"
}
}
Parsování vnořeného řetězce JSON
Následující dotaz převede řetězec eventrow.old JSON na záznam:
SELECT
JSON_PARSE(eventrow.old) AS ParsedOldRow
INTO Output
FROM Input
Přístup k vlastnostem v analyzovaném záznamu
Následující dotaz parsuje eventrow.current a přistupuje k vlastnostem ve vráceném záznamu pomocí zápisu tečky:
WITH ParsedEvents AS
(
SELECT JSON_PARSE(eventrow.current) AS ParsedCurrent
FROM Input
)
SELECT
ParsedCurrent.SalesOrderID,
ParsedCurrent.ProductName
FROM ParsedEvents