2017-03-17 92 views
0

我想读取其中包含数组的json(消息)对象的值。如何从JSON读取属性

以下查询有助于了解d中的直接属性。

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

如何在d(消息)内读取数组的属性部分。例如,如果我想阅读下面的消息中的所有街道值..怎么办?这是一种需要一个循环,这将要使用的mvexpand操作符(见documentation)做

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

回答

1

的一种方式。
它会为您的数组中的每个元素输出一行,您可以迭代。
所以在你的榜样,运行:

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

将输出为每个地址一行。

+0

Thanks @EranG,This works!为了所有这里是一个示例查询:'痕迹 |扩展x = parsejson(“{\”name \“:\”sp1 \“,\”add​​resses \“:[{\”street \“:\”hollywood blvd \“},{\”street \“:\” mullhond drive \“}]}”)。地址 | mvexpand x | X计划;' – Praveen