Getting Data In

How to do XSD schema validation on JSON data

msrama5
Explorer

Hello, I have complex JSON being written to Splunk and want to do XSD schema validation on the JSON, this is to ensure that JSON is not corrupted for some fields missing or out of order, what is the best way to do this ?

Below is the JSON request which has XSD schema and validation needs done:

 {
     "TestTransaction":{
     "OrderEntryType":141,
     "Number":69909696,
     "CloseDate":"2020-02-03T15:31:38.1260000Z",
     "ab":"test",
     "Trans":[
     {
     "Amt":5.45,
     "Desc":"test card",
     "Id":"961071022758064128",
     "Number":7777207236838910,
     "ab":"test",
     "$type":"test"
     }
     ],
     "TotalAmt":5.45,
     "SubAmount":4.95,
     "TaxAmount":0.5,
     "DiscountAmount":0.0,
     "Header":{
     "ServiceType":null,
     "RequestDate":"2020-02-03T15:31:38.1260000Z",
     "$type":"Header"
     },
     "Preparation":"ConsOutOfStore",
     "Details":{
     "Discounts":[
     ],
     "Items":[
     {
     "Qty":1.0,
     "Sku":null,
     "Price":4.45,
     "Discounts":[
     ],
     "OverrideDescription":null,
     "OverridePrice":null,
     "Suffix":null,
     "ChildItems":[
     {
     "Qty":1.0,
     "Sku":null,
     "Price":0.0,
     "Discounts":null,
     "IsRefunded":false,
     "IsTaxed":false,
     "Summary":{
     "TotalPrice":4.95,
     "DiscountAmount":0,
     "SubtotalAmount":4.95,
     "$type":"testSummary"
     },
     "$type":"testItem"
     }
     ],
     "Taxes":[
     {
     "Name":"Sales Tax",
     "Amount":50,
     "$type":"testTax"
     }
     ],
     "ReceiptLines":[
     ],
     "Delivery":null,
     "$type":"testDetails"
     },
     "$type":"trans"
     },
     "RequestId":"test",
     "MessageId":"test",
     "$type":"testTransaction"
     }
0 Karma
Get Updates on the Splunk Community!

.conf24 | Day 0

Hello Splunk Community! My name is Chris, and I'm based in Canberra, Australia's capital, and I travelled for ...

Enhance Security Visibility with Splunk Enterprise Security 7.1 through Threat ...

(view in My Videos)Struggling with alert fatigue, lack of context, and prioritization around security ...

Troubleshooting the OpenTelemetry Collector

  In this tech talk, you’ll learn how to troubleshoot the OpenTelemetry collector - from checking the ...