Sdílet prostřednictvím


bag_set_key()

bag_set_key() obdrží dynamic kontejner vlastností, klíč a hodnotu. Funkce nastaví daný klíč v kontejneru na danou hodnotu. Funkce přepíše jakoukoli existující hodnotu pro případ, že klíč již existuje.

Syntax

bag_set_key(Taška,Klíč,Hodnotu)

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

Parametry

Název Typ Vyžadováno Popis
Taška dynamic ✔️ Kontejner vlastností, který chcete upravit.
Klíč string ✔️ Klíč, který chcete nastavit. Buď cesta JSON (klíč můžete zadat na vnořených úrovních pomocí zápisu JSONPath ) nebo název klíče kořenové úrovně. Indexování polí nebo kořenové cesty JSON se nepodporují.
value libovolný skalární datový typ ✔️ Hodnota, na kterou je klíč nastaven.

Návraty

Vrátí sáček dynamic vlastností se zadanými páry klíč-hodnota. Pokud vstupní kontejner není kontejner vlastností, null vrátí se hodnota.

Poznámka

Pokud chcete zacházet s jako s nullprázdnými sáčky, použijte coalesce(x, dynamic({})).

Příklady

Použití klíče na kořenové úrovni

datatable(input: dynamic) [
    dynamic({'key1': 1, 'key2': 2}), 
    dynamic({'key1': 1, 'key3': 'abc'}),
]
| extend result = bag_set_key(input, 'key3', 3)
vstup result
{
"klíč1": 1,
"key2": 2
}
{
"klíč1": 1,
"key2": 2,
"key3": 3
}
{
"klíč1": 1,
"key3": "abc"
}
{
"klíč1": 1,
"key3": 3
}

Použití klíče JSONPath

datatable(input: dynamic)[
    dynamic({'key1': 123, 'key2': {'prop1': 123, 'prop2': 'xyz'}}),
    dynamic({'key1': 123})
]
| extend result = bag_set_key(input, '$.key2.prop1', 'abc')
vstup result
{
"klíč1": 123,
"key2": {
"prop1": 123,
"prop2": "xyz"
}
}
{
"klíč1": 123,
"key2": {
"prop1": "abc",
"prop2": "xyz"
}
}
{
"klíč1": 123
}
{
"klíč1": 123,
"key2": {
"prop1": "abc"
}
}