Я пишу собственный сериализатор Json, чтобы улучшить работу моего сервиса. И да, я принимал во внимание Json.NET, сервисный стек, DataContractJsonSerializer и т. Д. До того, как принял решение. Мои объекты плоские с простыми типами .NET, и я хотел избежать издержек на гораздо большую библиотеку.
В любом случае, здесь я столкнулся с небольшой проблемой. У меня есть код для сериализации DateTime -
var epoch = new DateTime(1970, 1, 1, 0, 0, 0);
sb.Append("\"\\/Date(");
SerializeNumber((time - epoch).TotalMilliseconds, sb);
sb.Append(")\\/\"");
И это прекрасно работает, за исключением того, что я не могу заставить его соответствовать стандартному сериализатору .NET Json в выводе.
.NET serializer
"\\/Date(1328057884253)\\/\"
Custom serializer
"\\/Date(1328057884253.04)\\/\"
Хм, поэтому я попытался сделать свое преобразование менее точным и перейти на (int) TotalSeconds вместо миллисекунд, и это дает мне это -
.NET serializer
"\\/Date(1328054810067)\\/\"
Custom serializer
"\\/Date(1328054810)\\/\"
Я предполагаю, что это не будет большим делом, но было бы неплохо, чтобы мои модульные тесты проходили против стандартного сериализатора .NET только для здравого смысла. Есть идеи?
Спасибо.