这是我的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"}
]
Run Code Online (Sandbox Code Playgroud)
我正在使用DataTable dt = JsonConvert.DeserializeObject<DataTable>(jsondata);从 json 转换为数据表,但是使用空日期时间列我收到以下错误:
字符串未被识别为有效的 DateTime。无法在 DATETIMEColumn 中存储 <>。预期类型为 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);
Run Code Online (Sandbox Code Playgroud)
您可以DateParseHandling在此处阅读设置。
检查这个现场小提琴
| 归档时间: |
|
| 查看次数: |
1436 次 |
| 最近记录: |