c# - 解析 JSON 而不抛出错误异常?

标签 c# json

在我的 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/

相关文章:

java - 基于变量在 Jackson JSON 中使用不同的 bean 类?

java - 每 2 秒刷新一次从 JSON 响应填充的 listView

c# - 将复杂的json反序列化为类似字典的结构

iOS flickr 搜索照片 json 返回 nil

c# - WCF 协议(protocol)异常 : Bad Request 400 (related to http message size)

c# - 我可以有这样的 if 语句吗?如果 Test = "test1"或 "test2"或 "test3"而不是走很远的路?

c# - 向 COM 公开 .NET 事件?

c# - 如何计算最短路线?

javascript - 为什么数组的对象属性能够正确访问值?

c# - 在哪里写日志文件?