JsonConvert.DeserializeObject在将字符串转换为日期时引发错误

时间:2019-07-14 05:15:14

标签: javascript c# json json.net

JsonConvert在将字符串转换为DateTime时引发错误。

我设置了日期格式化程序来解决此问题,但问题仍然存在。无法将字符串转换为DateTime:14-07-2019。路径“ CartDetails [0] .LineItems [0] .QuoteDate”,第1行,位置371。

如果我设置了格式化程序,则会得到“字符串未被识别为有效的DateTime”。

我的JSON字符串具有以下属性

我的对象具有以下属性

control == TRUE

我希望我的对象能够成功解析

1 个答案:

答案 0 :(得分:1)

您需要告诉JsonConvert.DeserializeObject使用您提供的日期格式。

下面的示例将传递到相同的日期

string varf = "{\"LastUpdatedDate\": \"01-01-0001\",\"QuoteDate\": \"07-14-2019\"}";
string varf2 = "{\"LastUpdatedDate\": \"01-01-0001\",\"QuoteDate\": \"14-07-2019\"}";


var myObj = JsonConvert.DeserializeObject<MyObject>(varf);
var obj = JsonConvert.DeserializeObject<MyObject>(varf2, new IsoDateTimeConverter { DateTimeFormat = "dd-MM-yyyy" });

在myObj的示例中,没有日期格式,因此它使用MM-dd-yyyy,但是示例obj使用显式dateformat