azure - 在 KQL 中解析 Json 数组
问题描述
Json 文本未正确解析 KQL。我也尝试过使用 parse_json ,但这也不起作用。我确实确认扩展 AllProperties 保存了正确的数据。
DeviceInfo
| where RegistryDeviceTag == "Standard"
| extend AllProperties = todynamic(LoggedOnUsers)
| project DeviceName, Users = AllProperties["Username"]
输出为我提供了正确的设备名称,但未在用户名字段中提供任何数据。
解决方案
(基于您在评论中提供的示例输入)
如果“LoggedOnUsers”数组只包含一个条目,您可以这样做:
print input = '[{"UserName":"TheUserName","DomainName":"TheDomainName","Sid":"TheSID#"}]'
| project UserName = parse_json(input)[0].UserName
否则,您可以使用mv-expand
or mv-apply
:
print input = '[{"UserName":"TheUserName","DomainName":"TheDomainName","Sid":"TheSID#"}]'
| project parse_json(input)
| mv-apply input on (
project UserName = input.UserName
)
推荐阅读
- regex - 如何使用 sed 在两个模式之间插入 ']['?
- firebase - React Chrome 扩展中的 Firebase 身份验证
- c++ - 在 x 秒后调用函数,同时在 C++ 中继续运行程序的其余部分
- pyspark - Databricks:writeStream 不处理数据
- android-studio - Android Studio 更改为 IF 语句的自定义格式和缩进
- apollo-client - 覆盖 Apollo 内存缓存中的 id
- c++ - 为什么我不能在 C++ sort() 中使用成员函数 cmp?
- corda - Corda - 流问题有多种状态
- javascript - QuillEditor、vue 3、firebase:如何在编辑器外预览内容
- php - PHP 从给定的字符串中选择随机字符串