【发布时间】:2015-10-27 01:56:28
【问题描述】:
我有以下代码:
return (DataTable)JsonConvert.DeserializeObject(_data, (typeof(DataTable)));
然后,我尝试了:
var jsonSettings = new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore
};
return (DataTable)JsonConvert.DeserializeObject<DataTable>(_data, jsonSettings);
返回线抛出错误:
{"将值 \"\" 转换为类型 'System.Double' 时出错。"}
许多在线解决方案建议使用可空类型创建自定义Class,但这对我不起作用。我不能指望 json 是某种格式。我无法控制列数、列类型或列名。
【问题讨论】:
-
也许您应该只使用 LINQ to JSON,并获得
JObject而不是创建DataTable? -
如果您需要转换
DataTable,请使用专用转换器DataTableConverter -
您能否分享一个导致问题的 JSON 示例?
-
@Candide 使用
return JsonConvert.DeserializeObject<DataTable>(_data, new DataTableConverter());时出现同样的错误