Ошибка анализа данных JSON в KQL

Текст Json неправильно обрабатывается в KQL. Я также пробовал использовать parse_json, но это тоже не сработало. Я подтвердил, что AllProperties хранит верные данные.

      DeviceInfo
| where RegistryDeviceTag == "Standard"
| extend AllProperties = todynamic(LoggedOnUsers)
| project DeviceName, Users = AllProperties["Username"]

Вывод дает мне правильное имя устройства, но не дает никаких данных в поле имени пользователя.

1 ответ

Решение

(на основе образца ввода, который вы предоставили в комментарии)

если массив «LoggedOnUsers» включает ровно одну запись, вы можете сделать это:

      print input = '[{"UserName":"TheUserName","DomainName":"TheDomainName","Sid":"TheSID#"}]'
| project UserName = parse_json(input)[0].UserName

в противном случае вы можете использовать mv-expand или mv-apply:

      print input = '[{"UserName":"TheUserName","DomainName":"TheDomainName","Sid":"TheSID#"}]'
| project parse_json(input)
| mv-apply input on (
    project UserName = input.UserName
)
Другие вопросы по тегам