C#/JSON 如何处理从数据库查询返回的 NULL 值? [复制]

Posted

技术标签:

【中文标题】C#/JSON 如何处理从数据库查询返回的 NULL 值? [复制]【英文标题】:C#/JSON What to do with a NULL value returned from a DB query? [duplicate] 【发布时间】:2016-03-25 16:40:11 【问题描述】:

情况:我正在构建一个查询数据库然后通过 JSON 返回结果的 Web API。

有几列被引入到表中,但尚未在其中填充数据。所以它们的值暂时是“NULL”。它不会总是这样,一些“遗留”数据可能包含“NULL”值。

当我收到包含“NULL”值的 JSON 响应时,它是空的。

(foo: , foo1: bar1)

所以我的问题是将“NULL”值传递回原始调用者的正确方法是什么?我可以通过各种方式检查“NULL”,然后返回一个空字符串或“-1”作为整数,但我想知道除了首先没有“NULL”之外,正确的方法是什么。

【问题讨论】:

如果您包含一些代码可能会有所帮助... 您可以使用 Json.Net 装饰器忽略空值:[JsonProperty( NullValueHandling = NullValueHandling.Ignore )]。 @dman2306 添加代码有什么帮助?这是一个关于编程实践的问题。代码工作正常。我想知道是否有更好的方法来处理 JSON 中的“null”值,而不是传回一个空字符串。有标准吗? @jpgrassi 我不一定想忽略它。我想将密钥传回是否有空值,但我希望能够通知用户该列有一个“空”/空值。就像我说的那样,我可以使用空字符串或 -1 来执行此操作,但这是将空值传递回用户的标准吗? 这可以帮助你:***.com/questions/21120999/representing-null-in-json 【参考方案1】:

这里有一个关于如何处理 JSON 中的空值的讨论:

Representing null in JSON

我还建议您注意您知道将始终为空或您不会使用的额外字段(正如您所说的“遗留”数据)。它们将依赖于您的 JSON 的最终大小,因此如果您确定它们不会被使用,只需删除它们即可。

【讨论】:

以上是关于C#/JSON 如何处理从数据库查询返回的 NULL 值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何处理从 servlet 中的 Angular 应用程序发送的预检请求?

如果列数不同,如何处理从源 spark df 到 hive 表的插入

如何处理查询没有返回行的数据表的 linq 语句 [重复]

如何处理从同一帐户登录的其他设备所做的更改?

如何处理从 Undertow 工作线程抛出的异常?

Android:如何处理从右到左的滑动手势