Splunk Search

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

Engager

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

Splunk Employee
Splunk Employee
0 Karma

Splunk Employee
Splunk Employee
0 Karma

Engager

sure i will try that and get back to you

0 Karma

Engager
0 Karma