我有一个将字符串反序列化为类型的方法。
var data = JsonConvert.DeserializeObject<TestData>("invalid json");
如果字符串无效,则JsonReaderException
发生。
当字符串无效时,我想返回TestData
(null)的默认值,而不是抛出异常。
没有try/catch
和JObject
我怎么做?
您可以使用JsonSerializerSettings
来处理它,它的结果将是NULL。JsonConvert的引用。deseralizeobject和JsonSerializerSettings。误差
var settings = new JsonSerializerSettings
{
Error = (se, ev) =>
{
ev.ErrorContext.Handled = true;
}
};
var data = JsonConvert.DeserializeObject<Currency>("invalid json", settings);