parse_json()
Az a string
értéket JSON-értékként értelmezi, és az értéket a következőként adja vissza: dynamic
. Ha lehetséges, az érték releváns adattípusokká lesz konvertálva. Az adattípus-átalakítás nélküli szigorú elemzéshez használja a extract() vagy extract_json() függvényeket.
Jobb, ha a parse_json() függvényt a extract_json() függvényre használja, ha egy JSON-összetett objektum egynél több elemét kell kinyernie. Ha lehetséges, használja a dynamic() elemet .
Elavult aliasok: parsejson(), toobject(), todynamic()
Syntax
parse_json(
Json)
További információ a szintaxis konvenciókról.
Paraméterek
Név | Típus | Kötelező | Leírás |
---|---|---|---|
Json | string |
✔️ | A JSON-formátumú érték vagy egy dinamikus tulajdonságcsomag formájában lévő sztring, amely JSON-ként elemezhető. |
Válaszok
A json értéke által meghatározott típusú dynamic
objektum:
- Ha a json típus
dynamic
, akkor az értéke a -ként lesz felhasználva. - Ha a json típusa
string
, és egy megfelelően formázott JSON-sztring, akkor a sztringet elemzi a függvény, és visszaadja a létrehozott értéket. - Ha a json típusa
string
, de nem megfelelően formázott JSON-sztring, akkor a visszaadott érték egy olyan típusúdynamic
objektum, amely az eredetistring
értéket tartalmazza.
Példa
A következő példában, ha context_custom_metrics
az a string
következőhöz hasonló:
{"duration":{"value":118.0,"count":5.0,"min":100.0,"max":150.0,"stdDev":0.0,"sampledValue":118.0,"sum":118.0}}
ezután a következő lekérdezés lekéri az duration
objektumban lévő pont értékét, és abból lekéri a két tárolóhelyet, duration.value
és duration.min
(118.0
és 110.0
, illetve).
T
| extend d=parse_json(context_custom_metrics)
| extend duration_value=d.duration.value, duration_min=d["duration"]["min"]
Megjegyzések
Gyakran előfordul, hogy egy JSON-sztring egy tulajdonságzsákot ír le, amelyben az egyik "tárolóhely" egy másik JSON-sztring.
Például:
let d='{"a":123, "b":"{\\"c\\":456}"}';
print d
Ilyen esetekben nem csak kétszer kell meghívni parse_json
, hanem a második hívásban tostring
is. Ellenkező esetben a második hívás parse_json
csak a bemenetet adja át a kimenetnek, mivel a deklarált típusa .dynamic
let d='{"a":123, "b":"{\\"c\\":456}"}';
print d_b_c=parse_json(tostring(parse_json(d).b)).c
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: