Megosztás a következőn keresztül:


bag_set_key()

bag_set_key() tulajdonságcsomagot dynamic , kulcsot és értéket kap. A függvény a zsákban lévő kulcsot a megadott értékre állítja. A függvény felülbírálja a meglévő értékeket abban az esetben, ha a kulcs már létezik.

Syntax

bag_set_key(Táska,Kulcs,Érték)

További információ a szintaxis konvenciókról.

Paraméterek

Név Típus Kötelező Leírás
Táska dynamic ✔️ A módosítandó tulajdonságcsomag.
Kulcs string ✔️ A beállítandó kulcs. Egy JSON-elérési út (megadhat egy kulcsot a beágyazott szinteken JSONPath-jelöléssel ), vagy egy gyökérszintű kulcs kulcsneve. A tömbindexelés vagy a gyökérszintű JSON-elérési utak nem támogatottak.
value bármilyen skaláris adattípus ✔️ Az az érték, amelyre a kulcs be van állítva.

Válaszok

Egy tulajdonságcsomagot ad dynamic vissza megadott kulcs-érték párokkal. Ha a bemeneti táska nem tulajdonságcsomag, a rendszer egy null értéket ad vissza.

Megjegyzés

Ha üres zsákként szeretné kezelni nullaz s-t, használja a következőt coalesce(x, dynamic({})): .

Példák

Gyökérszintű kulcs használata

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

JSONPath-kulcs használata

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