Splunk Search

How to use value of a one field as field name?

computernachi
New Member

Hi,
I'm a Splunk beginner here. I'm not even sure if I'm using the right terms. Kindly bear with me.
My input is a JSON file, where I have a Key 'key1' holding Value 'value1', 'key2'='value2', etc.,.
In Splunk, I see "key1" as the column name and the field value as "value1" and so on.

Now, my table already has another column with the name value1". I want to extract the column "value1" from the table.
In C/C++ terms, using value of "key1" as the index, i.e.: result = *key1;

I seem to be able to do this with something like:

| makeresults
| eval key1="value1" 
| eval value1="my_string1", value2="mystring2"
| foreach * 
       [ eval result=if("<<FIELD>>"==key1,<<FIELD>>,result)]
|  table  key1, result

Output:

key1     |    result
value1 |    "mystring1" 

But, I'm sure there should be a simpler way to do the same. All I want to do is:
result = valueof(key1's value)

Also, how would I go about doing the same if my Key1 has multiple values, where each one is a separate field?
Any ideas? Thanks!

0 Karma
Get Updates on the Splunk Community!

Index This | What is broken 80% of the time by February?

December 2025 Edition   Hayyy Splunk Education Enthusiasts and the Eternally Curious!    We’re back with this ...

Unlock Faster Time-to-Value on Edge and Ingest Processor with New SPL2 Pipeline ...

Hello Splunk Community,   We're thrilled to share an exciting update that will help you manage your data more ...

Splunk MCP & Agentic AI: Machine Data Without Limits

Discover how the Splunk Model Context Protocol (MCP) Server can revolutionize the way your organization uses ...