在我的 C# 项目中,我有时会反序列化可能不正确的 JSON。因此,错误是可能的。目前,我将它包装在一个 try block 中,并通过返回 null 来捕获异常。这行得通,但最好一开始就告诉库不要抛出异常。这可能吗?
我当前的代码:
public static NodeModel FromJsonString(string json)
{
NodeModel r = null;
JsonConverter converter = JsonConverters.ReferenceHierarchyCreation;
try
{
r = JsonConvert.DeserializeObject<NodeModel>(json, converter);
}
catch
{
}
return r;
}
最佳答案
but it would be nicer to tell the library not to throw an exception in the first place
没有 TryParse
组方法进行 JSON 解析。你现在拥有的可能就是你能做的。
另一种选择是 validate your JSON against a Schema并且仅在 JSON 有效时才解析。
只是补充一下,唯一的办法就是捕获实际的异常并将其记录在某处,但是如果您只对解析和忽略异常感兴趣,那么您的解决方案就足够了。
关于c# - 解析 JSON 而不抛出错误异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36844818/