Bagikan melalui


bag_set_key()

bag_set_key() menerima dynamic tas properti, kunci, dan nilai. Fungsi ini mengatur kunci yang diberikan dalam tas ke nilai yang diberikan. Fungsi ini mengambil alih nilai yang ada jika kunci sudah ada.

Sintaks

bag_set_key(Tas,Kunci,Nilai)

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter

Nama Jenis Diperlukan Deskripsi
bag dynamic ✔️ Tas properti untuk dimodifikasi.
kunci string ✔️ Kunci yang akan diatur. Baik jalur JSON (Anda dapat menentukan kunci pada tingkat berlapis menggunakan notasi JSONPath ) atau nama kunci untuk kunci tingkat akar. Pengindeksan array atau jalur JSON akar tidak didukung.
nilai jenis data skalar apa pun ✔️ Nilai yang kuncinya diatur.

Mengembalikan

Mengembalikan tas dynamic properti dengan pasangan kunci-nilai tertentu. Jika tas input bukan tas properti, null nilai akan dikembalikan.

Catatan

Untuk memperlakukan nulls sebagai tas kosong, gunakan coalesce(x, dynamic({})).

Contoh

Menggunakan kunci tingkat akar

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

Menggunakan kunci 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 hasil
{
"key1": 123,
"key2": {
"prop1": 123,
"prop2": "xyz"
}
}
{
"key1": 123,
"key2": {
"prop1": "abc",
"prop2": "xyz"
}
}
{
"key1": 123
}
{
"key1": 123,
"key2": {
"prop1": "abc"
}
}