bag_set_key ()

bag_set_key () 會收到 dynamic 屬性包、索引鍵和值。 函式會將包中的指定索引鍵設定為指定的值。 如果索引鍵已經存在,函式會覆寫任何現有的值。

Syntax

bag_set_key(,關鍵,價值)

深入瞭解 語法慣例

參數

名稱 類型 必要 Description
bag dynamic ✔️ 要修改的屬性包。
key string ✔️ 要設定的索引鍵。 JSON 路徑 (您可以使用 JSONPath 表示法) 或根層級索引鍵的索引鍵名稱,在巢狀層級上指定索引鍵。 不支援陣列索引編製或根 JSON 路徑。
value 任何純量數據類型 ✔️ 要設定索引鍵的值。

傳回

dynamic 回具有指定索引鍵/值組的屬性包。 如果輸入包不是屬性包, null 則會傳回值。

注意

若要將視為 null空包,請使用 coalesce(x, dynamic({}))

範例

使用根層級金鑰

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

使用 JSONPath 金鑰

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