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

Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

[Puzzles] Solve, Learn, Repeat: Matching cron expressions

This puzzle (first published here) is based on matching timestamps to cron expressions.All the timestamps ...

Why Splunk Customers Should Attend Cisco Live 2026 Las Vegas

Why Splunk Customers Should Attend Cisco Live 2026 Las Vegas     Cisco Live 2026 is almost here, and this ...

Data Management Digest – May 2026

Welcome to the May 2026 edition of Data Management Digest!   As your trusted partner in data innovation, the ...