使用JSON.NetvalidationJsonConvert.DeserializeObject的结果(想想“尝试解析”)

我有传入的消息,我需要尝试在我自己的对象结构中解析。 这些都是形成良好的JSON主题,有些只是无稽之谈。

我使用JsonConvert.DeserializeObject(incmoingString); 去做这个。 然而,当输入是总垃圾时,这有时会给我一个例外。 其他时候,当传入的字符串是好的时候,我得到一个非完整的对象结构 – 最后它有时会工作。

我已经在try / catch中包装了转换,而不是手动validation我已经获得了反序列化结果所需的属性。

有一个更好的方法吗?

Json.NET支持JSON Schema 。 您可以创建一个包含所有必需属性的模式,并在反序列化之前validation传入的JSON。