JSON
{
"title":"Mozilla Firefox",
"id":24,
"parent":2,
"dateAdded":1356753810000000,
"lastModified":1356753810000000,
"type":"text/x-moz-place-container",
"children":[]
}
С#
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);
}
Я получаю исключение, когда пытаюсь запустить это,
Дополнительная информация: Ошибка чтения даты. Неожиданный токен: Integer. Путь 'dateAdded'
Я подумал, что с помощью JavaScriptDateTimeConverter
JSON.NET сможет выяснить, как десериализовать эти временные метки Unix ( Миз мкс с эпохи). Какой самый простой способ сделать это?
Возникли проблемы с поиском документации по конвертерам... вероятно, было бы не сложно написать ее самостоятельно, если это необходимо.
Изменить: Это на самом деле микросекунды, а не миллисекунды.