JSON
{
"title":"Mozilla Firefox",
"id":24,
"parent":2,
"dateAdded":1356753810000000,
"lastModified":1356753810000000,
"type":"text/x-moz-place-container",
"children":[]
}
C#
class Bookmark
{
public string title;
public string id;
[JsonProperty(ItemConverterType = typeof(JavaScriptDateTimeConverter))]
public DateTime dateAdded;
[JsonProperty(ItemConverterType = typeof(JavaScriptDateTimeConverter))]
public DateTime lastModified;
public string type;
public string root;
public long parent;
public List<Bookmark> children;
}
private static void Main(string[] args)
{
var json = File.ReadAllText(@"T:/bookmarks-2013-11-13.json");
var bookmarks = JsonConvert.DeserializeObject<Bookmark>(json);
}
Я получаю исключение, когда пытаюсь запустить это,
Дополнительная информация: Ошибка чтения даты. Неожиданный токен: целое число. Путь dateAdded
Я думал, что, используя JavaScriptDateTimeConverter
, JSON.NET сможет выяснить, как десериализовать эти временные метки unix (мс мкс с эпохи). Как это сделать проще всего?
Возникли проблемы с поиском документации по конвертерам ... при необходимости, наверное, будет не так уж сложно написать ее самому.
Изменить: на самом деле это микросекунды, а не миллисекунды.