Knowledge Management

Is it possible to perform field extraction on a string inside a JSON object?

scottsnow
New Member

Given a log in JSON format, such as:
{
a: "some data",
b: "some more data",
c: "field1=data1 \t field2=data2"
}

How would I perform automatic field extraction on field "c"? I'd like "field1" and "field2" to show up in interesting fields.

I found a (somewhat finicky) way using regex, but it can break depending on separators. Plus, we have to specify the regex as searching for that exact key. Is there any way to just automatically take the string inside c and parse it for interesting fields?

Tags (1)
0 Karma

harsmarvania57
Ultra Champion

Hi @scottsnow,

So here I have created same query which shows how you can break data from c and here I am assuming that data1 and data2 are alphabetic only.

| makeresults
| eval _raw="{
\"data\": [
  {
  \"a\":\"some data\",
  \"b\":\"some more data\",
  \"c\":\"field1=data1 \t field2=data2\"
  }
  ]
}"
| spath
| rename data{}.c AS c
| rex field=c "field1=(?<first_field>\w+).*field2=(?<second_field>\w+)"

I hope this helps.

EDIT: If you want to extract this field automatically then I assume that you already have interesting field c on left hand side in your splunk so here you can create field extraction for your sourcetype and you can give regular expression as field1=(?<first_field>\w+).*field2=(?<second_field>\w+) which will automatically extract first_field and second_field in interesting field.

0 Karma

scottsnow
New Member

Useful for searches, useless for automatic field extraction.

0 Karma

amcjohn
Engager
0 Karma

scottsnow
New Member

Doesn't help for automatic field extraction (as far as I can tell). Of course it's fine for searches/alerts, but looking for fields to be automatically extracted from a string in a JSON object.

0 Karma
Get Updates on the Splunk Community!

Introducing the Splunk Community Dashboard Challenge!

Welcome to Splunk Community Dashboard Challenge! This is your chance to showcase your skills in creating ...

Built-in Service Level Objectives Management to Bridge the Gap Between Service & ...

Wednesday, May 29, 2024  |  11AM PST / 2PM ESTRegister now and join us to learn more about how you can ...

Get Your Exclusive Splunk Certified Cybersecurity Defense Engineer Certification at ...

We’re excited to announce a new Splunk certification exam being released at .conf24! If you’re headed to Vegas ...