Splunk Search

How to parse JSON arrays together?

incognito
Explorer

Hello, 

I have the next following event :

{ [-] 
   dimensionMap: { [+] 
   }

   dimensions: [ [+] 
   ]

   timestamps: [ [-] 
     1645718340000
     1645718400000
     1645718460000
     1645718520000
     1645718580000
     1645718640000
     1645718700000
     1645718760000
     1645718820000
     1645718880000
     1645718940000
   ]

   values: [ [-] 
     0.54
     0.63
     0.37
     0.56
     0.47
     0.45
     0.65
     0.64
     1
     null
     null
   ]

}

I would like to link each timestamp to its corresponding value.

For instance, following this example, it could look like this as a table :

      Timestamp                                                                 Value

1645716780000                                                            0.42
1645716840000                                                            0.79
1645716900000                                                            0.53
1645716960000                                                            0.63
1645717020000                                                            0.59
1645717080000                                                            0.5
1645717140000                                                            0.57
1645717200000                                                            0.59
1645717260000                                                            null
1645717380000                                                            null

Thank you.

Regards,

Labels (2)
0 Karma
1 Solution

ITWhisperer
SplunkTrust
SplunkTrust

| spath timestamps{} output=timestamps
| spath values{} output=values
| eval timestampsvalues=mvzip(timestamps,values)
| mvexpand timestampsvalues
| eval timestamps=mvindex(split(timestampsvalues,","),0)
| eval values=mvindex(split(timestampsvalues,","),1)
| table timestamps values

View solution in original post

ITWhisperer
SplunkTrust
SplunkTrust

| spath timestamps{} output=timestamps
| spath values{} output=values
| eval timestampsvalues=mvzip(timestamps,values)
| mvexpand timestampsvalues
| eval timestamps=mvindex(split(timestampsvalues,","),0)
| eval values=mvindex(split(timestampsvalues,","),1)
| table timestamps values

Get Updates on the Splunk Community!

Prove Your Splunk Prowess at .conf25—No Prereqs Required!

Your Next Big Security Credential: No Prerequisites Needed We know you’ve got the skills, and now, earning the ...

Splunk Observability Cloud's AI Assistant in Action Series: Observability as Code

This is the sixth post in the Splunk Observability Cloud’s AI Assistant in Action series that digs into how to ...

Splunk Answers Content Calendar, July Edition I

Hello Community! Welcome to another month of Community Content Calendar series! For the month of July, we will ...