2017-03-17 36 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