Попробуй так:
[DataContract(Namespace = "")]
[KnownType(typeof(HashHead))]
[Serializable]
public abstract class JsonHead: ISerializable
{
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
{}
}
KnownTypeAttribute Задает типы, которые должны распознаваться DataContractSerializer при сериализации или десериализации указанного типа.