/// <summary> /// /// </summary> /// <param name="reader"></param> /// <param name="objectType"></param> /// <param name="existingValue"></param> /// <param name="serializer"></param> /// <returns></returns> public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { if (reader.Value == null) { return(reader.Value); } if (reader.TokenType != JsonToken.Integer) { throw new Exception($"序列化失败:必须为时间戳 {reader.Value}"); } var timestamp = (long)reader.Value; var date = TimestampHelper.FromUnixTimeMilliseconds(timestamp); if (objectType == typeof(DateTime) || objectType == typeof(DateTime?)) { return(date.LocalDateTime); } else { return(date); } }