Splunk Search

How to retrieve one field from multiple responses?

greeshmak
Explorer

I'm trying to retrieve a field from a response:

here is the example:

response=[{"code":0,"count":1,"mobile":"123456",},{"code":0,"count":2,mobile":"67891011",},{"code":0,"count":1,"mobile":"234567"},{"code":0,"count":1,"mobile":"2765432"},{"code":0,"count":1,"mobile":"8901234"}]}

I want to extract the mobile number from all braces, If i use extraction using kvdelim and pairdelim,I'm not able to extract all values, it is returning only first mobile value.

Can someone suggest how to extract every mobile number from the response.

Thanks in advance.

0 Karma

gokadroid
Motivator

Since in you sample data, the mobile number comes always after keyword mobile however the " aren't always proper around it hence how about trying this:

your query to return the field response
| rex field=response max_match=0 "mobile(\D+)(?<mob>[\d]+)"
| table mob, response

This will create a multi-value field mob which will have all the mobile phone numbers which can be then used with mvexpand to tabulate or work upon something like below:

your query to return the field response
| rex field=response max_match=0 "mobile(\D+)(?<mob>[\d]+)"
| mvexpand mob
| table mob, response
0 Karma
Get Updates on the Splunk Community!

Index This | I am a number, but when you add ‘G’ to me, I go away. What number am I?

March 2024 Edition Hayyy Splunk Education Enthusiasts and the Eternally Curious!  We’re back with another ...

What’s New in Splunk App for PCI Compliance 5.3.1?

The Splunk App for PCI Compliance allows customers to extend the power of their existing Splunk solution with ...

Extending Observability Content to Splunk Cloud

Register to join us !   In this Extending Observability Content to Splunk Cloud Tech Talk, you'll see how to ...