首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么.NET的System.Text.Json.JsonSerializer.Deserialize方法的返回类型在不返回null的情况下是可空的?

为什么.NET的System.Text.Json.JsonSerializer.Deserialize方法的返回类型在不返回null的情况下是可空的?
EN

Stack Overflow用户
提问于 2022-02-17 17:01:44
回答 1查看 1.3K关注 0票数 6

考虑.NET 6的System.Text.Json.JsonSerializer.Deserialize方法和它的许多重载。

每一个返回object?TValue?,这意味着可以返回null。但是,文档指出,如果出现任何错误,则会引发异常。此外,它还声明返回一个有效值(如果没有抛出异常)。它没有规定null可以返回。在我使用它的经验中,null从未被返回。

(如果在项目中打开"nullability“,则可空返回类型是一个问题,因为编译器随后开始警告您返回的值可能为null --根据我的经验(根据文档),这是不正确的。正是这种事情让我急急忙忙地再一次关闭了可空性。我知道我可以压制这一警告,但我认为这不是重点。)

文件缺乏吗?这些方法真的可以返回null吗?如果它们不能,那么为什么我们有可空的返回类型?

EN

回答 1

Stack Overflow用户

发布于 2022-02-17 17:08:22

根据RFC 7159,“null”(以及“true”和“false”)将是有效的JSON文本。但是,空字符串不是有效的JSON。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71162382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档