【发布时间】:2011-12-28 22:58:38
【问题描述】:
我收到以下错误:
“StrongTypingException - 表 '{TableName}' 中列 '{ColumnName}' 的值为 DBNull。”
当我尝试使用 JSON.NET 将带有一些空值的 DataTable 序列化为 JSON 时。
这是代码:
var dataSet= new DsGameInformatie();
var adapter = new GameTableAdapter();
adapter.FillByGameCategoryID(dataSet.Games, 1);
var settings = new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore,
MissingMemberHandling = MissingMemberHandling.Ignore,
ObjectCreationHandling = ObjectCreationHandling.Replace,
ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
DefaultValueHandling = DefaultValueHandling.Ignore
};
return JsonConvert.SerializeObject(dataSet.Games, Formatting.None, settings);
显然我做错了什么。我错过了什么吗?如何处理那些 DBNull 值,以免出现异常?
【问题讨论】:
-
您可能必须在 FillByGameCategoryID 方法中执行此操作。可能在那里编写您自己的 Convert 函数来处理空值,并返回 string.Empty。哪一行抛出你的错误?
标签: c# wcf json serialization json.net