0

在使用 parse_json 解析我的 Kusto 集群中的列中的 JSON 数据后,我注意到在生成的投影值中嵌套了更多 JSON 格式的数据。我需要访问该信息并使每条 JSON 数据都成为自己的列。

我试图按照这个 SO 帖子的答案(在 kusto 查询中解析 json),但没有成功获得正确的语法。

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

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

4

1 回答 1

6

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

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

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

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

于 2019-08-08T01:04:57.330 回答