我开始使用Json.net来解析带有日期值的Json字符串。一切都安排好了约会。到目前为止,我甚至无法将JValue转换为.NET DateTime,即使使用DateTime.Parse方法也是如此,因为Json.NET似乎将日期解析为一种不寻常的格式,如下所示
string JsonString = new WebClient().DownloadString(URL);
JsonSerializerSettings microsoftDateFormatSettings = new JsonSerializerSettings
{
DateFormatHandling = DateFormatHandling.MicrosoftDateFormat,
DateTimeZoneHandling = DateTimeZoneHandling.Local
};
dynamic elements = JsonConvert.DeserializeObject(JsonString, microsoftDateFormatSettings);
for (int i = 0; i < int.Parse(elements.totalCount.ToString()) ; i++)
{
idDossier = elements.avis[i].idDossier;
refs = elements.avis[i].
PublicationDate = elements.avis[i].datePublication;
Deadline = elements.avis[i].dateLimite;
我设法使用正则表达式重新格式化和解析日期,但是为了将来的使用,我想学习正确使用Json.net而不是重新发明轮子。
JSON字符串如下
{{1}}
}
这是我的C#代码
{{1}}
我做错了什么?
提前致谢
答案 0 :(得分:1)
您可以在DateFormatString
JsonSerializerSettings
var json = @"{""dateRemiseCandidature"": ""25/07/2016 00:00""}";
var settings = new JsonSerializerSettings
{
DateFormatString = "dd/MM/yyyy hh:mm"
};
var result = JsonConvert.DeserializeObject<SomeClass>(json, settings);
//////
class SomeClass
{
public DateTime dateRemiseCandidature { get; set; }
}