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

标签 c# json.net

我正在调查 NullReferenceException我无法在本地重现,我需要排除 Newtonsoft.Json.JsonConvert.DeserializeObject<T>作为 null 的潜在来源。当我在本地尝试使用一些无效输入时,它总是抛出异常并且永远不会返回 null。我的代码假设如果它不抛出异常,它将返回一个非空对象。 documentation没有以任何方式说明。

版本是4.5.11如果相关的话。

最佳答案

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

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

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

顺便说一下,已使用 Newtonsoft 11.0.1、.NET 4.6.1 和 Visual Studio Professional 2015 进行测试。

关于c# - Newtonsoft.Json.JsonConvert.DeserializeObject<T> 可以返回 null 吗?如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50972091/

相关文章:

c# - 泛型方法不调用类型为 'T' 的方法

c# - 数据源中String类型的给定值无法转换为指定目标列的int类型

c# - Newtonsoft.Json DeserializeXmlNode 将标签名称从数字更改为 "something"

Json.NET (Newtonsoft.Json) - 两个同名的 'properties'?

c# - 如何反序列化具有包含不同对象的属性的 json?

c# - 在 C# 中使用什么正则表达式从后面的单词开始匹配(向后匹配...)直到匹配?

c# - 在 JavaScript 中访问 C# 变量

c# - 反序列化 JSON 时需要忽略 NULL 值

c# - 复杂对象的Json.Net反序列化——包含基类作为属性的基类

c# - 如何对c#代码进行加密,使其不易被反编译和读取