I want to convert some of the below individual json objects in the event into nested single json object like the second example
Current Format
{ "ID": 1, "Timestamp": "2023-05-18T05:07:59.940594300Z", "FileVersion": "10.0.17134.1 (WinBuild.160101.0800)", "Company": "Microsoft Corporation", "TerminalSessionId": 0, "UtcTime": "2018-08-20 15:18:59.929", "Product": "Microsoft® Windows® Operating System", }
Expected Format
{ "ID": 1, "Timestamp": "2023-05-18T05:07:59.940594300Z", "EventData":{ "FileVersion": "10.0.17134.1 (WinBuild.160101.0800)", "Company": "Microsoft Corporation", "TerminalSessionId": 0, "UtcTime": "2018-08-20 15:18:59.929", "Product": "Microsoft® Windows® Operating System", } }
I have tried to playaround with json functions but unable to figure out how to achieve the above outcome.
Can someone please help ?
Can you please try this?
YOUR_SEARCH
| spath
| eval EventData = json_object("FileVersion", FileVersion,"Company",Company, "TerminalSessionId",TerminalSessionId, "UtcTime",UtcTime, "Product",Product)
| eval NewJson = json_object("ID",ID, "Timestamp", Timestamp,"EventData",json(EventData))
| table _raw NewJson
My Sample Search :
| makeresults
| eval _raw="{\"ID\": 1,\"Timestamp\": \"2023-05-18T05:07:59.940594300Z\",\"FileVersion\": \"10.0.17134.1 (WinBuild.160101.0800)\",\"Company\": \"Microsoft Corporation\",\"TerminalSessionId\": 0,\"UtcTime\": \"2018-08-20 15:18:59.929\",\"Product\": \"Microsoft® Windows® Operating System\",}"
| spath
| eval EventData = json_object("FileVersion", FileVersion,"Company",Company, "TerminalSessionId",TerminalSessionId, "UtcTime",UtcTime, "Product",Product)
| eval NewJson = json_object("ID",ID, "Timestamp", Timestamp,"EventData",json(EventData))
| table _raw NewJson
I hope this will help you.
Thanks
KV
If any of my replies help you to solve the problem Or gain knowledge, an upvote would be appreciated.