如何在c#中使用标准JSON序列化程序处理dbnull值?

如何在c#中使用标准JSON序列化程序处理dbnull值?,c#,json,wcf,C#,Json,Wcf,我刚刚用WebserviceHost创建了一个REST-ful Web服务。我有几种方法可以在用户发出GET请求时将JSON对象返回给用户 [OperationContract] [WebGet(ResponseFormat = WebMessageFormat.Json, UriTemplate = "appliances/{username}")] List<object[]> GetAvailableAppliances(string username); [运营合

我刚刚用WebserviceHost创建了一个REST-ful Web服务。我有几种方法可以在用户发出GET请求时将JSON对象返回给用户

[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json, 
    UriTemplate = "appliances/{username}")]
List<object[]> GetAvailableAppliances(string username);
[运营合同]
[WebGet(ResponseFormat=WebMessageFormat.Json,
UriTemplate=“设备/{username}”)]
列出GetAvailableAppliance(字符串用户名);
此方法从数据库返回值。对象数组中有几个dbnull值,但标准JSON序列化程序无法处理它。 如果用户执行请求,连接将被重置,但仅当列表中存在dbnull值时


如何处理这些dbnull值?我是否必须在列表序列化之前更改值,或者是否有其他解决方案?

就我个人而言,我决不会让
DBNull
(这最终是一个实现细节)超出数据访问代码;所以,是的,我会在源头对它们进行消毒
null
通常是数据访问代码之外的
DBNull
的理想替代品(尽管我个人认为
DBNull
)。将所有内容都视为
object
并没有让它变得更清晰-如果可能,一些类型良好的对象也会有很大的帮助。

有没有一种简单的方法可以做到这一点,或者如果有dbnull值,我必须检查表中的每个字段?