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 タイムスタンプを逆シリアル化する方法を理解できると思いました (MSエポックからの μs)。これを行う最も簡単な方法は何ですか?
コンバーターに関するドキュメントを見つけるのに苦労しています...必要に応じて自分で書くのはおそらくそれほど難しくありません。
編集:これらは実際にはミリ秒ではなくマイクロ秒です。