次のクラスを適切にシリアル化するために、.NET 4.5 の WebAPI にバンドルされているNewtonsoft JSON Libraryを取得しようとしています。
public class SomeClass {
[Required]
public DateTime DateToBeSerialized { get; set; }
[Required]
public Dictionary<DateTime, long> DatesDict { get; set; }
}
シリアル化後、次の JSON が出力されます。
"DateToBeSerialized": "2013-03-07T19:03:22.5432182Z",
"DatesDict": {
"12/01/2012 00:00:00": 593,
"01/01/2013 00:00:00": 691,
"02/01/2013 00:00:00": 174,
"03/01/2013 00:00:00": 467
}
ご覧のとおり、シリアライザーは、オブジェクトのタイプが の場合はmyの形式を尊重しますが、 a のキー部分をシリアル化する場合はそうしません。DateTime
DateTime
KeyValuePair<DateTime, long>
つまり、シリアライザーに次のように出力してもらいたいのです。
"DateToBeSerialized": "2013-03-07T19:03:22.5432182Z",
"DatesDict": {
"2012-12-01T00:00:00.0000000Z": 593,
"2013-01-01T00:00:00.0000000Z": 691,
"2013-02-01T00:00:00.0000000Z": 174,
"2013-03-01T00:00:00.0000000Z": 467
}
この問題を解決する方法についてコミュニティが提供できる提案があれば幸いです。