【发布时间】:2014-03-19 20:20:11
【问题描述】:
我有一门课如下:
public class ViewItem
{
[DataMember(Name = "title")]
public string Title { get; set; }
[DataMember(Name = "created_at")]
public string CreatedAt { get; set; }
}
当我尝试将 json 字符串反序列化为对象时,我从未获得 CreatedAt 字段的值。我的json字符串如下:
[ { "created_at" : "2014-03-05T10:26:12Z" ,
"title" : "task 4"
} ,
{ "created_at" : "2014-03-05T10:26:12Z" ,
"title" : "task 5"
}
]
反序列化代码如下:
JsonConvert.DeserializeObject<List<ViewItem>>(json);
我已阅读 this article 并尝试提供不同的 json 转换以及日期解析处理,但它不起作用。
更新:
我试过 CreatedAt 属性作为 DateTime,DateTime?和 DateTimeOffset 以及简单的字符串。
【问题讨论】:
-
您的 JSON 无效。日期值和
title属性之间需要有一个逗号。您可以通过jsonlint.com查看。 -
谢谢。实际上这是拼写错误,因为我将粘贴从 Visual Studio IDE 复制到此处。不过我更正了。但是还是不行。
标签: c# json datetime json.net iso8601