Como serializar uma classe que deriva de um dicionário

Estou tentando serializar / desserializar a seguinte classe de e para o Json usando o Json.Net:

public class ChildDictionary:Dictionary<Employee, double>
{

    public string Name { get; set; }

}

Eu encontrei a informaçãoaqui, aquieaqui&nbsp;que estão relacionados, mas nenhum deles lida especificamente com a aparência da sintaxe para este caso em que derivamos de um dicionário.

O funcionário serializa com êxito o Json.Net por conta própria. Se parece com isso:

[JsonObject(MemberSerialization.OptIn)]
public class Employee
{

    [JsonProperty]
    public string Name { get; set; }

    [JsonProperty]
    public double Factor { get; set; }

    [JsonProperty]
    public List<ILoadBuilder> LoadBuilders = new List<ILoadBuilder>();

    [JsonConstructor]
    public LoadCause(string name, double factor, List<ILoadBuilder> loadBuilders)
    {
        this.Name = name;
        this.DurationFactor = Factor;
        this.LoadBuilders = loadBuilders;
    }
}

Eu não me importo com a aparência do Json no final, desde que eu possa escrever e ler sem perder dados

Alguma sugestão de como deve ser o código para fazer isso? Um JsonConverter personalizado ou Atributos são boas soluções.