Alterar o nome da propriedade json na saída usando o Json.Net [duplicado]

Esta pergunta já tem uma resposta aqui:

Use um nome diferente para serializar e desserializar com o Json.Net 1 resposta

Estou tentando ler um arquivo JSON, renomear os nomes de propriedades e exportar um novo JSON com os novos nomes. Conforme declarado neste exemplo,https://www.newtonsoft.com/json/help/html/JsonPropertyName.htm, podemos usar JsonProperty para especificar um nome diferente internamente no código. No entanto, quando você exporta o json, ele retorna o nome original. Portanto, no exemplo, ele ainda retornou "release_date" em vez de "ReleaseDate" quando foi registrado no console. Existe alguma maneira de fazer isso sem criar um novo objeto?

Para esclarecer as coisas, aqui está um exemplo do que estou tentando fazer:

Entrada JSON:

{ "name": "Starcraft", "release_date": "1998-01-01T00:00:00" }

Objeto usado para desserializar os dados:

public class Videogame
{
    public string name{ get; set; }

    [JsonProperty("release_date")]
    public DateTime releaseDate { get; set; }
}

Código chamado:

var json = JsonConvert.DeserializeObject<Videogame>(File.ReadAllText(path))
Console.WriteLine(JsonConvert.SerializeObject(json));

Resultado resultante:

{ "name": "Starcraft", "release_date": "1998-01-01T00:00:00" }

Saída desejada:

{ "name": "Starcraft", "releaseDate": "1998-01-01T00:00:00" }

A única maneira que atualmente sei como resolvê-lo é criar um novo objeto e usá-lo para serializar minha saída. Não tinha certeza se existe alguma maneira mais simples de fazer isso.

questionAnswers(2)

yourAnswerToTheQuestion