gpt4 book ai didi

c# - JsonConvert.DeserializeObject(jsondata);强制日期时间到字符串列

转载 作者:行者123 更新时间:2023-12-02 15:00:22 25 4
gpt4 key购买 nike

这是我的 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<Da​​taTable>(jsondata);强制日期时间到字符串列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50159805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com