如何从 json 读取属性

how to read attribute from json

我想读取其中包含数组的 json(消息)对象的值。

下面的查询有助于获取 d 中的直接属性。

traces | extend d = parsejson(message) | d.Timestamp, d.Name;

如何读取 d(消息)中数组的 属性 部分。例如,如果我想阅读下面消息中的所有街道值.. 怎么办?这有点需要循环

message
{
    "Timestamp": "12-12-2008",
    Name: "Alex",
    address: {
        [{"street": "",zip:""},{"street":"", "zip":""}]
    }
}

一种方法是使用 mvexpand 运算符(参见 documentation)。
它将为您可以迭代的数组中的每个元素输出一行。
所以在你的例子中,运行:

traces | extend d = parsejson(message) | mvexpand d.address

将为每个地址输出一行。