parse_json()

Interpretuje string hodnotu jako 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().

Pokud potřebujete extrahovat více než jeden prvek složeného objektu JSON, je lepší použít funkci extract_json parse_json(). Pokud je to možné , použijte dynamic( ).

Zastaralé aliasy: parsejson(), toobject(), todynamic()

Syntax

parse_json(Json)

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Typ Vyžadováno Popis
Json string ✔️ Řetězec ve formě hodnoty ve formátu JSON nebo dynamického kontejneru vlastností, který se má analyzovat jako JSON.

Návraty

Objekt typu dynamic , který je určen hodnotou json:

Příklad

V následujícím příkladu je string hodnota, context_custom_metrics která vypadá takto:

{"duration":{"value":118.0,"count":5.0,"min":100.0,"max":150.0,"stdDev":0.0,"sampledValue":118.0,"sum":118.0}}

pak následující dotaz načte hodnotu slotu duration v objektu a z ní načte dva sloty a duration.valueduration.min (118.0 a 110.0, v uvedeném pořadí).

T
| extend d=parse_json(context_custom_metrics) 
| extend duration_value=d.duration.value, duration_min=d["duration"]["min"]

Poznámky

Běžně se používá řetězec JSON popisující kontejner vlastností, ve kterém je jeden ze slotů jiným řetězcem JSON.

Příklad:

let d='{"a":123, "b":"{\\"c\\":456}"}';
print d

V takových případech je nutné nejen dvakrát vyvolat parse_json , ale také zajistit, tostring aby se při druhém volání použilo. V opačném případě druhé volání parse_json pouze předá vstup výstupu tak, jak je, 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