Getting Data In

How can I query and find records which have an empty array?

dreddy123
New Member

My JSON looks like this,

{
"id":"studentNumber",
"courses" : [ {
"course" : "Analysis of Alg"
},
{
"course": "game dev"
}

]

}

I would like to get all the student numbers who haven't registered for any courses --> where "courses" array is empty.

Tags (2)
0 Karma

kamlesh_vaghela
SplunkTrust
SplunkTrust

@ dreddy123

Can you please try this?

YOUR_SEARCH  | rename courses{}.course as courses_course | where isnull(courses_course) 

My Sample Search:

| makeresults | eval _raw="{\"id\":\"studentNumber\",\"courses\":[{\"course\" : \"Analysis of Alg\"},{\"course\": \"game dev\"}]}" | append [ | makeresults | eval _raw="{\"id\":\"studentNumber\",\"courses\":[]}" ] |kv | rename courses{}.course as courses_course | where isnull(courses_course)

Thanks

0 Karma

nrduren1115
Explorer

Does courses show up as a field in those events? If not, you can use | where isnull(courses)

0 Karma

dreddy123
New Member

{
"id":"studentNumber",
"courses" : [ ]
}
it will show up like this when no courses are registered.

0 Karma

nrduren1115
Explorer

To be a bit more specific, is courses extracted as a field and if so, what is the value?

0 Karma
Get Updates on the Splunk Community!

Take Your Breath Away with Splunk Risk-Based Alerting (RBA)

WATCH NOW!The Splunk Guide to Risk-Based Alerting is here to empower your SOC like never before. Join Haylee ...

SignalFlow: What? Why? How?

What is SignalFlow? Splunk Observability Cloud’s analytics engine, SignalFlow, opens up a world of in-depth ...

Federated Search for Amazon S3 | Key Use Cases to Streamline Compliance Workflows

Modern business operations are supported by data compliance. As regulations evolve, organizations must ...