JSON_PARSE

✅ ✅ Azure Stream Analytics Fabric Eventstream

JSON_PARSE A JSON formátumú sztringet egy elérhető és lekérdezhető rekordmá alakítja. Ezt a függvényt akkor használja, ha egy esemény sztringként szerializált beágyazott JSON-objektumot tartalmaz, például egy data Fabric eseményfolyam változási esemény tulajdonságát.

Miért érdemes JSON_PARSE

Számos streamelési forgatókönyv, különösen az Eventstream-integrációk olyan eseményeket tartalmaznak, amelyekben egy tulajdonság egy sztringként szerializált JSON-dokumentum. Az esemény deszerializálása során ezek a beágyazott hasznos adatok sztringekként lesznek kezelve, így nem férhet hozzá közvetlenül a tulajdonságaikhoz JSON-objektumként. A JSON_PARSE sztringkódolt JSON-t strukturált rekordmá alakíthatja, amelynek tulajdonságait elérheti és lekérdezheti.

Syntax

JSON_PARSE ( jsonString )

Arguments

Név Típus Description
jsonString nvarchar(max) Érvényes JSON-objektum sztringként szerializálva.

Visszatérési típus

Az elemezett JSON-objektumot adja vissza típusértékként record.

Hibakezelés

JSON_PARSE egy nem dobó függvény. Ha az elemzés nem hajtható végre, a függvény a sikertelen lekérdezés-végrehajtás helyett ad vissza NULL . JSON_PARSE akkor ad NULL vissza, ha:

  • A bemeneti kifejezés nem támogatott sztringérték.
  • A megadott sztring nem érvényes JSON.
  • Újabb JSON-konverziós hiba történik.

Examples

A példák a következő bemeneti eseményt használják. A old tulajdonságok sztringként current szerializált JSON-objektumokat tartalmaznak.

{
  "eventrow": {
    "old": "{\"SalesOrderID\":\"65191\",\"SalesOrderDetailID\":\"89090\"}",
    "current": "{\"SalesOrderID\":\"65191\",\"SalesOrderDetailID\":\"89090\",\"ProductName\":\"Touring-2000 Blue, 54\"}"
  }
}

Beágyazott JSON-sztring elemzése

A következő lekérdezés a JSON-sztringet eventrow.old rekordmá alakítja:

SELECT
    JSON_PARSE(eventrow.old) AS ParsedOldRow
INTO Output
FROM Input

Hozzáférési tulajdonságok egy elemezett rekordban

A következő lekérdezés pont jelöléssel elemzi eventrow.current és éri el a visszaadott rekord tulajdonságait:

WITH ParsedEvents AS
(
    SELECT JSON_PARSE(eventrow.current) AS ParsedCurrent
    FROM Input
)
SELECT
    ParsedCurrent.SalesOrderID,
    ParsedCurrent.ProductName
FROM ParsedEvents