使用没有键的动态对象值的 kusto 查询

kusto query with dynamic object value without key

我有很多数据看起来像

{"tuesday":"<30, 60>"}  
{"friday":"<0, 5>"} 
{"saturday":"<5, 10>"}  
{"friday":"<0, 5>"} 
{"saturday":"<5, 10>"}  
{"sunday":"0"}  
{"monday":"<0, 5>"}

我想要的只是值,而不考虑密钥。

我的查询:

customEvents
| where name == "eventName"
| extend d = parse_json(tostring(customDimensions.['Properties']))
| project d
| take 7

d 是一个动态对象,我可以对值执行 d.monday,但我想在没有键的情况下获取值。 Kusto 可以做到这一点吗?

谢谢

如上所示,对于单个 属性 的情况,使用 parse 运算符可能有效:

datatable(d:dynamic)
[
    ,dynamic({"tuesday":"<30, 60>"})
    ,dynamic({"friday":"<0, 5>"})
    ,dynamic({"saturday":"<5, 10>"})
    ,dynamic({"friday":"<0, 5>"})
    ,dynamic({"saturday":"<5, 10>"})
    ,dynamic({"sunday":"0"})
    ,dynamic({"monday":"<0, 5>"})
]
| parse d with * ':"'  value '"' *
| project value

备注:

  • 如果您的值不一定包含在双引号中(例如是数字),那么您应该能够为 parse 运算符指定 kind=regex,并使用双引号存在的条件表达式。

  • 如果每个 属性 包中可能有超过 1 个 属性,则可以使用 extract_all()

相关文档: