0
是否有反序列化无效json的方法?newtonsoft json反序列化错误处理:部分反序列化
比如未来JSON反序列化将失败,JsonReaderException
{
'sessionId': 's0j1',
'commandId': 19,
'options': invalidValue // invalid value
}
因为options
属性值是无效的。
有没有一种很好的方法可以获得sessionId
和commandId
值,即使options
的值无效?
我知道这是可能的反序列化(http://www.newtonsoft.com/json/help/html/SerializationErrorHandling.htm)期间处理错误
var json = "{'sessionId': 's0j1', 'commandId': 19, 'options': invalidValue}";
var settings = new JsonSerializerSettings
{
Error = delegate(object sender, ErrorEventArgs args)
{
args.ErrorContext.Handled = true;
}
});
var result = JsonConvert.DeserializeObject(json, settings);
位将导致result = null
。
我不认为Json.NET可以处理无效JSON。如果你想解析一些不是Json的东西,请看看[这个答案](http://stackoverflow.com/a/29146482/579895) – Pikoh