这很简单。我有一个字符串
string s = "/Date(1474408920000)/"
我想把它转换成一个日期:
DateTime date = JsonConvert.DeserializeObject<DateTime>(s);
但我得到了错误:
分析注释时出错。应为:*,得到D.路径",第1行,位置1。
这里发生了什么
谢谢你的帮助!
您的json字符串无效,但可以通过用"
将其包围来轻松修复
string s = @"""/Date(1474408920000)/""";
现在DateTime date = JsonConvert.DeserializeObject<DateTime>(s);
将在上工作
var LogDate = new DateTime(2016, 9, 20, 22, 2, 0, DateTimeKind.Utc);
string JsonDate = JsonConvert.SerializeObject(LogDate, new JsonSerializerSettings {
DateFormatHandling = DateFormatHandling.MicrosoftDateFormat
});
Console.WriteLine(JsonDate);
Console.ReadLine();
此代码的输出为您提供了正确的JSON日期格式:
"/Date(1474408920000)/"
所以你的字符串应该是这样的:
string s = ""\/Date(1474408920000)\/"";
尝试使用以下代码将DateTime对象序列化为JSON。
var dateTime = DateTime.Now;
var jsonDate = Newtonsoft.Json.JsonConvert.SerializeObject(dateTime,
new Newtonsoft.Json.JsonSerializerSettings() {
DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat,
DateParseHandling = Newtonsoft.Json.DateParseHandling.DateTime });
CCD_ 3将保持该值CCD_
现在使用下面的代码反序列化json日期字符串。
var dateObj = Newtonsoft.Json.JsonConvert.DeserializeObject<DateTime>(dateString,
new Newtonsoft.Json.JsonSerializerSettings() {
DateParseHandling = Newtonsoft.Json.DateParseHandling.DateTime,
DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat });