Kusto如何去除JSON数组外层括号得到逗号分隔带引号元素列表
Kusto JSON数组格式转换解决方案
你可以通过两种常用方案实现需求,两种方案均原生支持Kusto查询语法,无需额外扩展:
方案1:适用变量/单次转换场景
// 定义原始JSON数组变量 let source_arr = dynamic(["one","two","three"]); // 执行转换 print output = strcat_array( array_map(element => strcat('"', tostring(element), '"'), source_arr), ',' )
执行后输出结果为:"one","two","three"
方案2:适用表字段批量处理场景
如果需要对表中存储的JSON数组列做批量转换,可直接按如下逻辑编写查询:
你的表名 // 先将字符串格式的JSON数组转为Kusto动态类型,本身已经是dynamic类型可跳过该步 | extend parsed_arr = parse_json(存储JSON数组的列名) // 生成目标格式字符串 | extend target_str = strcat_array(array_map(i => strcat('"', tostring(i), '"'), parsed_arr), ',')
核心逻辑说明
array_map():遍历数组所有元素,给每个元素前后拼接双引号strcat_array():将处理后的数组元素用逗号拼接为完整字符串- 如果你的源数据是字符串格式的JSON,需要先通过
parse_json()函数转为dynamic类型再做处理
内容的提问来源于stack exchange,提问作者Jaysec
相关产品推荐
相关产品推荐

