<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Multiple json in an event- How do I extract status in one event? in Splunk Search</title>
    <link>https://community.splunk.com/t5/Splunk-Search/Multiple-json-in-an-event-How-do-I-extract-status-in-one-event/m-p/650431#M224862</link>
    <description>&lt;P&gt;I have multiple json coming in a single event and want to extract the status of one event.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For example, I want the status of the event extract&lt;/P&gt;
&lt;P&gt;{"event": "load", "id ":132", "status": "passed"}&lt;/P&gt;
&lt;P&gt;{"event": "write", "id ":132", "status": "passed"}&lt;/P&gt;
&lt;P&gt;{"event": "extract", "id ":132", "status": "passed"}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 13 Jul 2023 20:35:27 GMT</pubDate>
    <dc:creator>splunkuser320</dc:creator>
    <dc:date>2023-07-13T20:35:27Z</dc:date>
    <item>
      <title>Multiple json in an event- How do I extract status in one event?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Multiple-json-in-an-event-How-do-I-extract-status-in-one-event/m-p/650431#M224862</link>
      <description>&lt;P&gt;I have multiple json coming in a single event and want to extract the status of one event.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For example, I want the status of the event extract&lt;/P&gt;
&lt;P&gt;{"event": "load", "id ":132", "status": "passed"}&lt;/P&gt;
&lt;P&gt;{"event": "write", "id ":132", "status": "passed"}&lt;/P&gt;
&lt;P&gt;{"event": "extract", "id ":132", "status": "passed"}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Jul 2023 20:35:27 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Multiple-json-in-an-event-How-do-I-extract-status-in-one-event/m-p/650431#M224862</guid>
      <dc:creator>splunkuser320</dc:creator>
      <dc:date>2023-07-13T20:35:27Z</dc:date>
    </item>
    <item>
      <title>Re: Multple json in an event</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Multiple-json-in-an-event-How-do-I-extract-status-in-one-event/m-p/650436#M224864</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| rex "event\"\s*:\s*\"extract\".+?status\"\s*:\s*\"(?&amp;lt;status&amp;gt;[^\"]+)"&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Jul 2023 18:09:06 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Multiple-json-in-an-event-How-do-I-extract-status-in-one-event/m-p/650436#M224864</guid>
      <dc:creator>ITWhisperer</dc:creator>
      <dc:date>2023-07-13T18:09:06Z</dc:date>
    </item>
    <item>
      <title>Re: Multple json in an event</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Multiple-json-in-an-event-How-do-I-extract-status-in-one-event/m-p/650445#M224866</link>
      <description>&lt;P&gt;Seriously, beg/pester your developer to write events in proper JSON. (BTW, your illustration also contained extraneous quote after reach number.) &amp;nbsp;A lazy approach could be JSON array, like&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;{"event": [
  {"type": "load", "id ":132, "status": "passed"},
  {"type": "write", "id ":132, "status": "passed"},
  {"type": "extract", "id ":132, "status": "passed"}
 ]
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This will give you something like&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;data&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;event{}.id&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;event{}.status&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;event{}.type&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;{"event": [ {"type": "load", "id ":132, "status": "passed"}, {"type": "write", "id ":132, "status": "passed"}, {"type": "extract", "id ":132, "status": "passed"} ] }&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;132&lt;/DIV&gt;&lt;DIV class=""&gt;132&lt;/DIV&gt;&lt;DIV class=""&gt;132&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;passed&lt;/DIV&gt;&lt;DIV class=""&gt;passed&lt;/DIV&gt;&lt;DIV class=""&gt;passed&lt;/DIV&gt;&lt;/TD&gt;&lt;TD&gt;&lt;DIV class=""&gt;load&lt;/DIV&gt;&lt;DIV class=""&gt;write&lt;/DIV&gt;&lt;DIV class=""&gt;extract&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;The multivalue fields are harder to process in Splunk, so you want to use spath and mvexpand to handle raw event&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| spath path=event{}
| mvexpand event{}
| spath input=event{}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;so you get single-value rows like&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;event{}&lt;/TD&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;status&lt;/TD&gt;&lt;TD&gt;type&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;{"type": "load", "id ":132, "status": "passed"}&lt;/TD&gt;&lt;TD&gt;132&lt;/TD&gt;&lt;TD&gt;passed&lt;/TD&gt;&lt;TD&gt;load&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;{"type": "write", "id ":132, "status": "passed"}&lt;/TD&gt;&lt;TD&gt;132&lt;/TD&gt;&lt;TD&gt;passed&lt;/TD&gt;&lt;TD&gt;write&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;{"type": "extract", "id ":132, "status": "passed"}&lt;/TD&gt;&lt;TD&gt;132&lt;/TD&gt;&lt;TD&gt;passed&lt;/TD&gt;&lt;TD&gt;extract&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;But really, because the types do not overlap, they should be in nested key-value form&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;{"event":
 {
  "load": {"id":132, "status": "passed"},
  "write": {"id ":132, "status": "passed"},
  "extract": {"id ":132, "status": "passed"}
 }
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This should give you&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;data&lt;/TD&gt;&lt;TD&gt;event.extract.id&lt;/TD&gt;&lt;TD&gt;event.extract.status&lt;/TD&gt;&lt;TD&gt;event.load.id&lt;/TD&gt;&lt;TD&gt;event.load.status&lt;/TD&gt;&lt;TD&gt;event.write.id&lt;/TD&gt;&lt;TD&gt;event.write.status&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;{"event": { "load": {"id":132, "status": "passed"}, "write": {"id ":132, "status": "passed"}, "extract": {"id ":132, "status": "passed"} } }&lt;/TD&gt;&lt;TD&gt;132&lt;/TD&gt;&lt;TD&gt;passed&lt;/TD&gt;&lt;TD&gt;132&lt;/TD&gt;&lt;TD&gt;passed&lt;/TD&gt;&lt;TD&gt;132&lt;/TD&gt;&lt;TD&gt;passed&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Lastly, JSON does not dictate order of nodes, or how texts are spaced, linewrapped, etc. &amp;nbsp;It is best not to avoid treating structured data as text. &amp;nbsp;So, before your developer yields to your persuasion, you can convert the bad event into compliant JSON array. &amp;nbsp;Not an ideal form but usable.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;| rex mode=sed "s/^/[/ s/}/},/g s/,$/]/"
| spath path={}
| mvexpand {}
| spath input={}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This way, you get&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;event&lt;/TD&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;status&lt;/TD&gt;&lt;TD&gt;{}&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;load&lt;/TD&gt;&lt;TD&gt;132&lt;/TD&gt;&lt;TD&gt;passed&lt;/TD&gt;&lt;TD&gt;{"event": "load", "id ":132, "status": "passed"}&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;write&lt;/TD&gt;&lt;TD&gt;132&lt;/TD&gt;&lt;TD&gt;passed&lt;/TD&gt;&lt;TD&gt;{"event": "write", "id ":132, "status": "passed"}&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;extract&lt;/TD&gt;&lt;TD&gt;132&lt;/TD&gt;&lt;TD&gt;passed&lt;/TD&gt;&lt;TD&gt;{"event": "extract", "id ":132, "status": "passed"}&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Thu, 13 Jul 2023 19:11:53 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Multiple-json-in-an-event-How-do-I-extract-status-in-one-event/m-p/650445#M224866</guid>
      <dc:creator>yuanliu</dc:creator>
      <dc:date>2023-07-13T19:11:53Z</dc:date>
    </item>
  </channel>
</rss>

