使用没有键的动态对象值的 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()
。
相关文档:
我有很多数据看起来像
{"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()
。
相关文档: