You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Kusto中如何从两列创建dynamic类型字典?

问题

现有如下数据表,如何从keys和vals两列创建dynamic类型的字典(示例:{"a":"1", "b":"2", …})?

数据表定义:

let test = datatable (
    keys: string,
    vals: string
) [
    "a,b,c,d", "1,2,3,4" 
];

已知split()和zip()函数会生成数组的数组,无法直接与todynamic()配合使用。

解决方案

可以通过拼接JSON格式字符串再转换的方式实现,具体代码如下:

let test = datatable (
    keys: string,
    vals: string
) [
    "a,b,c,d", "1,2,3,4" 
];
test
| extend keys_arr = split(keys, ","), vals_arr = split(vals, ",")
// 遍历数组,将对应位置的键值对拼接为JSON键值对格式
| extend key_value_pairs = array_map(i, strcat('"', keys_arr[i], '":"', vals_arr[i], '"'))
// 拼接成完整的JSON字典字符串,再转为dynamic类型
| extend dict = todynamic(strcat("{", strcat_array(key_value_pairs, ","), "}"))
| project keys, vals, dict

步骤说明

  • 使用split()将keys和vals列按逗号拆分为字符串数组keys_arr和vals_arr
  • 通过array_map()遍历数组索引,把每个对应位置的键和值拼接成带双引号的标准JSON键值对(如"a":"1")
  • 用strcat_array()将所有键值对用逗号连接,再用strcat()包裹大括号,生成完整的JSON字典字符串
  • 最后调用todynamic()将字符串转换为dynamic类型的字典

内容的提问来源于stack exchange,提问作者Motoko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 20:45:34