简体   繁体   English

将 JSON 数组合并到 Kusto 中的 JSON object

[英]Merge a JSON array into a JSON object in Kusto

Let say I have a log analytics table like this:假设我有一个这样的日志分析表:

datatable(Computer:string, TimeGenerated:datetime, data:dynamic)
[
    "comp1",  datetime(2019-02-07 16:31:15), dynamic('[{prop1: 2}, {prop2: 0.8}, {prop3: 12.204532}, {prop4: 0}]'),
    "comp2",  datetime(2019-02-07 16:31:15), dynamic('[{prop1: 2}, {prop2: 0.8}]'),
    "comp3",  datetime(2019-02-07 16:31:15), dynamic('[{prop2: 0.8}, {prop3: 12.204532}, {prop4: 0}]'),
]

When querying, is there a way to merge the json array contained on the data column into a single object to have something as follows:查询时,有没有办法将数据列中包含的json数组合并为一个object,如下所示:

[{prop1: 2}, {prop2: 0.8}, {prop3: 12.204532}, {prop4: 0}] Becomes {prop1: 2, prop2: 0.8, prop3: 12.204532, prop4: 0} . [{prop1: 2}, {prop2: 0.8}, {prop3: 12.204532}, {prop4: 0}]变成{prop1: 2, prop2: 0.8, prop3: 12.204532, prop4: 0}

[{prop1: 2}, {prop2: 0.8}] becomes {prop1: 2, prop2: 0.8}. [{prop1: 2}, {prop2: 0.8}]变成{prop1: 2, prop2: 0.8}。

and [{prop2: 0.8}, {prop3: 12.204532}, {prop4: 0}] becomes {prop2: 0.8, prop3: 12.204532, prop4: 0} .[{prop2: 0.8}, {prop3: 12.204532}, {prop4: 0}]变成{prop2: 0.8, prop3: 12.204532, prop4: 0}

I don't need that array of objects, I need it to be merged on a single object.我不需要那个对象数组,我需要将它合并到一个 object 上。

Thanks in advance.提前致谢。

mv-apply for the rescue mv-apply救援

PS聚苯乙烯
A JSON textual key should be qualified. JSON 文本键应该是合格的。
Note the changes I made for data column.请注意我对data列所做的更改。

datatable(Computer:string, TimeGenerated:datetime, data:dynamic)
[
    "comp1",  datetime(2019-02-07 16:31:15), dynamic([{"prop1": 2}, {"prop2": 0.8}, {"prop3": 12.204532}, {"prop4": 0}]),
    "comp2",  datetime(2019-02-07 16:31:15), dynamic([{"prop1": 2}, {"prop2": 0.8}]),
    "comp3",  datetime(2019-02-07 16:31:15), dynamic([{"prop2": 0.8}, {"prop3": 12.204532}, {"prop4": 0}]),
]
| mv-apply e = data on (summarize data = make_bag(e))

+----------+----------------------+-----------------------------------------------------+
| Computer |    TimeGenerated     |                        data                         |
+----------+----------------------+-----------------------------------------------------+
| comp1    | 2019-02-07T16:31:15Z | {"prop1":2,"prop2":0.8,"prop3":12.204532,"prop4":0} |
| comp2    | 2019-02-07T16:31:15Z | {"prop1":2,"prop2":0.8}                             |
| comp3    | 2019-02-07T16:31:15Z | {"prop2":0.8,"prop3":12.204532,"prop4":0}           |
+----------+----------------------+-----------------------------------------------------+

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM