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.
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Interpretuje string hodnotu JSON a vrátí hodnotu jako dynamic. Pokud je to možné, hodnota se převede na relevantní datové typy. Pro striktní analýzu bez převodu datového typu použijte funkce extract() nebo extract_json().
Funkci parse_json() je lepší použít u funkce extract_json(), když potřebujete extrahovat více než jeden prvek složeného objektu JSON. Pokud je to možné, použijte dynamic().
Zastaralé aliasy: parsejson(), toobject(), todynamic()
Syntaxe
parse_json(
json)
Přečtěte si další informace o konvencích syntaxe.
Parametry
| Název | Type | Požadováno | Popis |
|---|---|---|---|
| json | string |
✔️ | Řetězec ve formě hodnoty ve formátu JSON nebo balíčku dynamické vlastnosti, který se má analyzovat jako JSON. |
Návraty
Objekt typu dynamic , který je určen hodnotou json:
- Pokud je json typu
dynamic, použije se jeho hodnota tak, jak je. - Pokud je json typu
stringa je správně naformátovaný řetězec JSON, řetězec se parsuje a vytvoří se hodnota. - Pokud je json typu
string, ale nejedná se o správně formátovaný řetězec JSON, vrácená hodnota je objekt typudynamic, který obsahuje původnístringhodnotu.
Příklady
Příklady v této části ukazují, jak používat syntaxi, která vám pomůže začít.
Analýza metrik doby trvání
V následujícím příkladu platí, že context_custom_metrics pokud je to string takto:
{"duration":{"value":118.0,"count":5.0,"min":100.0,"max":150.0,"stdDev":0.0,"sampledValue":118.0,"sum":118.0}}
Následující dotaz pak načte hodnotu slotu duration v objektu a z toho načte dva sloty, duration.value a duration.min (118.0 a 110.0).
datatable(context_custom_metrics:string)
[
'{"duration":{"value":118.0,"count":5.0,"min":100.0,"max":150.0,"stdDev":0.0,"sampledValue":118.0,"sum":118.0}}'
]
| extend d = parse_json(context_custom_metrics)
| extend duration_value = d.duration.value, duration_min = d.duration.min
Výstup
| context_custom_metrics | d | duration_value | duration_min |
|---|---|---|---|
| {"duration":{"value":118.0;"count":5.0;"min":100.0;"max":150.0,"stdDev":0.0;"sampledValue":118.0;"sum":118.0}} | {"duration":{"value":118;"count":5;"min":100,"max":150,"stdDev":0,"sampledValue":118,"sum":118}} | 118 | 100 |
Vnořené analýzy JSON
Běžně se používá řetězec JSON popisující tašku vlastností, ve které je jeden z "slotů" dalším řetězcem JSON.
Příklad:
let d='{"a":123, "b":"{\\"c\\":456}"}';
print d
Výstup
| print_0 |
|---|
| {"a":123, "b":"{"c":456}"} |
Vtakovýchch hovorech není v takových případech nutné volat parse_json pouze dvakrát, ale také zajistit, tostring aby se použilo druhé volání. V opačném případě druhé volání parse_json právě předává vstup výstupu as-is, protože jeho deklarovaný typ je dynamic.
let d='{"a":123, "b":"{\\"c\\":456}"}';
print d_b_c=parse_json(tostring(parse_json(d).b)).c
Ouput
| d_b_c |
|---|
| 456 |
Související obsah
- parse – operátor
- modulu plug-in bag_unpack
- operátor mv-expand