Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Validating result of JsonConvert.DeserializeObject (think "try parse") using JSON.Net

I have incoming messages that I need to try and parse in my own objects structure. SOme of these are well formed JSON obejcts and some are just nonsense.

I use JsonConvert.DeserializeObject<MyObject>(incmoingString); to do this. This however sometimes gives me a exception when the incoming is total garbage. Other times I get a non-complete object structure when the incoming string is kind of OK - and finally it sometimes work.

I've wrapped the conversion in a try/catch and than manually validate that I've gotten the properties I need to the deserialized result.

Is there a better way to do this?

like image 697
Riri Avatar asked Apr 22 '10 11:04

Riri


1 Answers

Json.NET supports JSON Schema. You could create a schema with all the required properties marked and validate incoming JSON against it before deserializing.

like image 119
James Newton-King Avatar answered Nov 05 '22 12:11

James Newton-King