解析Kusto列中的嵌套JSON数据

时间:2019-08-07 22:36:48

标签: kusto kql kusto-query-language

在使用parse_json在我的Kusto群集中的一列中解析JSON数据之后,我注意到在结果投影值中嵌套了更多JSON格式的数据。我需要访问该信息,并将JSON数据的每个部分都放在自己的列中。

我试图遵循这篇SO帖子(Parsing json in kusto query)的答案,但未能成功获取正确的语法。

myTable 
| project 
Time, 
myColumnParsedJSON = parse_json(column) 
| project myColumnParsedNestedJSON = parse_json(myColumnParsedJSON.nestedJSONDataKey)

我希望结果将是投影列,每列分别命名为每个键,并将它们各自的值显示在一行记录中。

1 个答案:

答案 0 :(得分:3)

请参阅this文档底部的注释:

  

通常有一个JSON字符串描述一个属性包,其中的“插槽”之一是另一个JSON字符串。在这种情况下,不仅需要两次调用parse_json,而且还必须确保在第二次调用中将使用tostring。否则,对parse_json的第二次调用将直接按原样将输入传递给输出,因为其声明的类型为dynamic

一旦您能够获得parse_json来正确解析有效负载,就可以使用bag_unpack插件(doc)来满足您提到的这一要求:

  

我希望结果将是投影列,每列分别命名为每个键,并将它们各自的值显示在一行记录中。