如何处理DBnull时,序列化数据集和数据表JSON使用JSON.NET



我得到以下错误:

"StrongTypingException -表'{TableName}'中列'{ColumnName}'的值为DBNull "

当我试图序列化一个数据表与一些空值JSON使用JSON.NET。

这是代码:

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值,使我不得到异常?

数据表中有一个与null相关的错误,现在在Json中修复了。. NET 4.0 Release 3

请参阅如何反序列化ADO。.NET数据表包含空值使用Json.NET?和相关的问题Null值应该表示为System。

假设您的数据集来自数据集设计器,您可以更改它处理空值的方式。

http://msdn.microsoft.com/en-us/library/ya91ataz (v = vs.80) . aspx

这是我在默认情况下使用的。Net做得很好。看看这是否适合你:

return Json(results, JsonRequestBehavior.AllowGet);

把IEnumerable传递给Json函数。

希望对你有帮助。

相关内容

  • 没有找到相关文章

最新更新