Newtonsoft.Json.JsonConvert.DeserializeObject<T> 可以返回 null 吗?如何?

Asi*_*sik 2 c# json.net

我正在调查一个NullReferenceException我无法在本地重现的问题,我需要排除Newtonsoft.Json.JsonConvert.DeserializeObject<T>潜在的 null 来源。当我使用一些无效输入在本地尝试时,它总是抛出异常并且从不返回 null。我的代码假设它不抛出异常,它返回一个非空对象。该文件没有说明这两种方式。

版本4.5.11是相关的。

EJo*_*ica 5

是的,它可以。这是执行此操作的代码示例:

namespace x {
    public class Something
    {
        public string abc { get; set; }
    }

    static void Main(string[] args)
    {
        Something newtonsoft = JsonConvert.DeserializeObject<Something>("");
    }
}
Run Code Online (Sandbox Code Playgroud)

顺便测试了 Newtonsoft 11.0.1、.NET 4.6.1 和 Visual Studio Professional 2015。