Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
✅ ✅ Azure Stream Analytics Fabric Eventstream
JSON_PARSE konverterar en JSON-formaterad sträng till en post som du kan komma åt och köra frågor mot. Använd den här funktionen när en händelse innehåller ett kapslat JSON-objekt serialiserat som en sträng, till exempel data egenskapen i en Fabric Händelseströmsändringshändelse.
Varför använda JSON_PARSE
Många strömningsscenarier, särskilt Eventstream-integreringar, innehåller händelser där en egenskap är ett JSON-dokument serialiserat som en sträng. Under händelsedeserialisering behandlas dessa kapslade nyttolaster som strängar, så du kan inte direkt komma åt deras egenskaper som JSON-objekt. Använd JSON_PARSE för att konvertera strängkodad JSON till en strukturerad post vars egenskaper du kan komma åt och fråga efter.
Syntax
JSON_PARSE ( jsonString )
Arguments
| Name | Type | Description |
|---|---|---|
jsonString |
nvarchar(max) |
Ett giltigt JSON-objekt serialiserat som en sträng. |
Returtyp
Returnerar det parsade JSON-objektet som ett värde av typen record.
Felhantering
JSON_PARSE är en icke-kastande funktion. Om parsningen inte kan slutföras returnerar NULL funktionen i stället för att frågekörningen misslyckas.
JSON_PARSE returnerar NULL när:
- Indatauttrycket är inte ett strängvärde som stöds.
- Den angivna strängen är inte giltig JSON.
- Ett annat JSON-konverteringsfel inträffar.
Examples
Exemplen använder följande indatahändelse. Egenskaperna old och current innehåller JSON-objekt som serialiseras som strängar.
{
"eventrow": {
"old": "{\"SalesOrderID\":\"65191\",\"SalesOrderDetailID\":\"89090\"}",
"current": "{\"SalesOrderID\":\"65191\",\"SalesOrderDetailID\":\"89090\",\"ProductName\":\"Touring-2000 Blue, 54\"}"
}
}
Parsa en kapslad JSON-sträng
Följande fråga konverterar JSON-strängen till eventrow.old en post:
SELECT
JSON_PARSE(eventrow.old) AS ParsedOldRow
INTO Output
FROM Input
Åtkomstegenskaper i en tolkad post
Följande fråga parsar eventrow.current och kommer åt egenskaper i den returnerade posten med hjälp av punkt notation:
WITH ParsedEvents AS
(
SELECT JSON_PARSE(eventrow.current) AS ParsedCurrent
FROM Input
)
SELECT
ParsedCurrent.SalesOrderID,
ParsedCurrent.ProductName
FROM ParsedEvents