作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的 json :
[
{"ID":"1","DATETIME":"2018-05-02T00:00:00"},
{"ID":"2","DATETIME":"2018-05-02T00:00:00"},
{"ID":"3","DATETIME":""},
{"ID":"4","DATETIME":"2018-05-02T00:00:00"}
]
我正在使用 DataTable dt = JsonConvert.DeserializeObject<DataTable>(jsondata);
从 json 转换为数据表,但是对于空日期时间列,我收到以下错误:
String was not recognized as a valid DateTime.Couldn't store <> in DATETIMEColumn. Expected type is DateTime.
那么如何将我的 json 转换为所有列都是字符串的数据表
最佳答案
您可以将Serializer
设置定义为忽略DateTime
解析,这样动态的JOSN就可以转换为DataTable
。 缺点 DateTime
将被读取为 DataTable
中的字符串。
var settings = new JsonSerializerSettings
{
DateParseHandling = DateParseHandling.None
};
string json = "[{\"ID\":\"1\",\"DATETIME\":\"2018-05-02T00:00:00\"}, {\"ID\":\"1\",\"DATETIME\":\"\"}]";
var jsonObj = JsonConvert.DeserializeObject<DataTable>(json, settings);
Console.WriteLine(jsonObj.Rows.Count);
您可以在 here 阅读 DateParseHandling
设置.
检查这个Live Fiddle
关于c# - JsonConvert.DeserializeObject<DataTable>(jsondata);强制日期时间到字符串列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50159805/
我是一名优秀的程序员,十分优秀!