Splunk Search

How to extract values from a JSON like string?

kotig
Path Finder

I am having data like this in my Splunk and I wanted to extract the value of status which is Active.

How can I do it when this is not a valid JSON string?

 

 

mydata {
name {
value: "1111"
}
id {
value: "2020-07-02 15:49:00"
}
status {
value: "Active"
}
}
Any help is appreciated.

 

 

Labels (5)
0 Karma
1 Solution

bowesmana
SplunkTrust
SplunkTrust

@kotig You are not specifying field=message in the rex command, so it is looking at _raw which no longer exists after your table message statement

| makeresults
| eval message="mydata {
name {
value: \"1111\"
}
id {
value: \"2020-07-02 15:49:00\"
}
status {
value: \"Active\"
}
}"
| rex field=message "status \{\nvalue: \"(?<status>\w+)" | table status

 

View solution in original post

richgalloway
SplunkTrust
SplunkTrust

Assuming that's all one event, then rex should do the job.

... | rex "status \{\nvalue: \"(?<status>\w+)"

 

---
If this reply helps you, Karma would be appreciated.
0 Karma

kotig
Path Finder

yea i tried the rex. But it did not work. What i did was search splunk and put them into a table and then tried the rex as mentioned above but i had no luck.

0 Karma

richgalloway
SplunkTrust
SplunkTrust
Please elaborate. What search did you use? What does the table look like? What rex did you try?
---
If this reply helps you, Karma would be appreciated.
0 Karma

kotig
Path Finder

index=mysearchIndex | table message | rex "status \{\nvalue: \"(?<status>\w+)" | table status

Here - message contains contains the string like below:

message

-----------

mydata {
name {
value: "1111"
}
id {
value: "2020-07-02 15:49:00"
}
status {
value: "Active"
}
}

0 Karma

bowesmana
SplunkTrust
SplunkTrust

@kotig You are not specifying field=message in the rex command, so it is looking at _raw which no longer exists after your table message statement

| makeresults
| eval message="mydata {
name {
value: \"1111\"
}
id {
value: \"2020-07-02 15:49:00\"
}
status {
value: \"Active\"
}
}"
| rex field=message "status \{\nvalue: \"(?<status>\w+)" | table status

 

kotig
Path Finder

Thank you @richgalloway and @bowesmana . That worked.

0 Karma
Get Updates on the Splunk Community!

Stay Connected: Your Guide to January Tech Talks, Office Hours, and Webinars!

What are Community Office Hours? Community Office Hours is an interactive 60-minute Zoom series where ...

[Puzzles] Solve, Learn, Repeat: Reprocessing XML into Fixed-Length Events

This challenge was first posted on Slack #puzzles channelFor a previous puzzle, I needed a set of fixed-length ...

Data Management Digest – December 2025

Welcome to the December edition of Data Management Digest! As we continue our journey of data innovation, the ...