Splunk Search

How to create table columns from JSON?

kackerman7
Loves-to-Learn

Hi, I have fields from a JSON file that are getting parsed like this: 

kackerman7_0-1655917639143.png

I'm struggling to find a way to turn those fields into columns in a table. Anyone have any experience with this? 

 

Thank you

 

Labels (2)
0 Karma

rymundo_splunk
Splunk Employee
Splunk Employee

Hi, would something like this work for you?

|makeresults
| eval json="{\"Packets\":{\"0\": 4, \"1\": 3}, \"Bytes\":{\"0\":8, \"1\":42} }"
| spath input=json
| table Packets.* Bytes.*

Basically I take the string, parse it to json, then I can use dot notation and wildcards to extract the key names to be column names.

rymundo_splunk_1-1655945627642.png

 

0 Karma

kackerman7
Loves-to-Learn

Hi, 

Unfortunately no - I've tried something similar to this. I need all of the Packets elements in one column, all of the Bytes elements in another column, etc. 

0 Karma

rymundo_splunk
Splunk Employee
Splunk Employee

Okay, I misunderstood.  I think you are asking for something like this?

Index Packet Bytes
0 1 10
1 4 40
2 2 20

 

|makeresults
| eval json="{\"Packets\":{\"0\": 4, \"1\": 3}, \"Bytes\":{\"0\":8, \"1\":42} }"
| spath input=json
| table Packets.* Bytes.*
| eval indexes=null(),
packets=null(),
bytes=null()
| foreach Packets.* [ eval indexes=mvappend(indexes,"<<MATCHSEG1>>"), packets=mvappend(packets,'<<FIELD>>') ]
| foreach Bytes.* [ eval bytes=mvappend(bytes,'<<FIELD>>') ]
| eval i_p_b=mvzip(mvzip(indexes, packets), bytes)
| fields i_p_b
| mvexpand i_p_b
| rex field=i_p_b "^(?<index>\d+),(?<packet>\d+),(?<bytes>\d+)"

 

rymundo_splunk_0-1656017027850.png

 

0 Karma

kackerman7
Loves-to-Learn

Yes, this is exactly what I'm looking for. However, when I run it on my data (with all fields included), my table is empty. What am I doing wrong? 

kackerman7_0-1656359174452.png

 

kackerman7_1-1656359248343.png

 

 

0 Karma
Get Updates on the Splunk Community!

Purpose in Action: How Splunk Is Helping Power an Inclusive Future for All

At Cisco, purpose isn’t a tagline—it’s a commitment. Cisco’s FY25 Purpose Report outlines how the company is ...

[Upcoming Webinar] Demo Day: Transforming IT Operations with Splunk

Join us for a live Demo Day at the Cisco Store on January 21st 10:00am - 11:00am PST In the fast-paced world ...

New Year. New Skills. New Course Releases from Splunk Education

A new year often inspires reflection—and reinvention. Whether your goals include strengthening your security ...