Splunk Search

After receiving "External search command 'jsonfields' returned error code 1", how to extract fields from a JSON input?

rodneyjerome
Explorer

Hi,
I am trying to extract fields from a JSON input. I don't understand if I am making any mistake in getting the events or in output. Below is my python script:

import splunk.Intersplunk

json_events = splunk.Intersplunk.readResults(None, None, True)

for json_event in json_events:
    json_data = json.load(json_event)
    fields = (json_data['Fields'])
    for f in fields:
        if not f['values']:
            json_event[f['Name']] = 'null'
        elif 'value' not in f['values'][0]:
            json_event[f['Name']] = 'null'
        else:
            json_event[f['Name']] = f['values'][0]['value']

splunk.Intersplunk.outputResults(json_events)

and the below snippet is a sample json event.

{
  "Type": "defect",
  "Fields": [
    {
      "values": [],
      "Name": "ut2"
    },
    {
      "values": [
        {
          "value": "SF"
        }
      ],
      "Name": "ut3"
    },
    {
      "values": [
        {
          "value": "2"
        }
      ],
      "Name": "vs"
    },
    {
      "values": [
        {
          "value": "N"
        }
      ],
      "Name": "attached"
    },
    {
      "values": [
        {
          "value": "vh"
        }
      ],
      "Name": "pri"
    },
],
}

I have stored them as dictionary (key, value pairs). I am getting error "External search command 'jsonfields' returned error code 1"
any suggestions?

Thanks in advance

0 Karma
1 Solution

Flynt
Splunk Employee
Splunk Employee
0 Karma

rodneyjerome
Explorer

sure i will try that and get back to you

0 Karma

rodneyjerome
Explorer
0 Karma
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!

Persistent Queue at TcpOut — One of Splunk's Most Practical Features

Splunk introduced persistent queueing at the tcpout layer as one of the most practical resilience features in ...

Skip the Awkward Silence: Have a .conf-ersation at .conf26

Picture this. You arrive at .conf26 already having your socializing and networking plans mapped out. No ...

Rethinking Zero Trust: From Product Purchases to Logical Control Evidence

Implementing Zero Trust (ZT) across complex environments often falters at the very beginning due to a ...