SerializeDateTime
方法返回以毫秒为单位的日期时间。我希望他转微秒。 SerializeDateTime
方法如下:
private static void SerializeDateTime(DateTime datetime, StringBuilder sb, JavaScriptSerializer.SerializationFormat serializationFormat)
{
if (serializationFormat == JavaScriptSerializer.SerializationFormat.JSON)
{
sb.Append("\"\\/Date(");
sb.Append((datetime.ToUniversalTime().Ticks - JavaScriptSerializer.DatetimeMinTimeTicks) / 10000L);
sb.Append(")\\/\"");
}
else
{
sb.Append("new Date(");
sb.Append((datetime.ToUniversalTime().Ticks - JavaScriptSerializer.DatetimeMinTimeTicks) / 10000L);
sb.Append(")");
}
}
我想按如下方法重写此方法。
private static void SerializeDateTime(DateTime datetime, StringBuilder sb, JavaScriptSerializer.SerializationFormat serializationFormat)
{
if (serializationFormat == JavaScriptSerializer.SerializationFormat.JSON)
{
sb.Append("\"\\/Date(");
sb.Append((datetime.ToUniversalTime().Ticks - JavaScriptSerializer.DatetimeMinTimeTicks));
sb.Append(")\\/\"");
}
else
{
sb.Append("new Date(");
sb.Append((datetime.ToUniversalTime().Ticks - JavaScriptSerializer.DatetimeMinTimeTicks));
sb.Append(")");
}
}
我不知道该怎么做。我们还能如何提出解决方案? 我想尝试时,Newtonsoft序列化程序无法序列化我的模型。如果可行,也许我可以使用dateformat进行设置。
答案 0 :(得分:0)
相关方法未标记为virtual
。它不能被覆盖。
为什么不只在静态类中创建自己的方法?
public static CustomSerializer
{
public static void SerializeDateTime(...) {
//your implementation
}
}