Cambiar el nombre de la propiedad json en la salida usando Json.Net [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Use un nombre diferente para serializar y deserializar con Json.Net 1 respuesta

Estoy tratando de leer un archivo JSON, cambiar el nombre de los nombres de propiedad y exportar un nuevo JSON con los nuevos nombres. Como se indica en este ejemplo,https://www.newtonsoft.com/json/help/html/JsonPropertyName.htm, podemos usar JsonProperty para especificar un nombre diferente internamente en el código. Sin embargo, cuando exporta el json, devuelve el nombre original. Entonces, en el ejemplo, aún devolvió "release_date" en lugar de "ReleaseDate" cuando se registró en la consola. ¿Hay alguna manera de hacer esto sin crear un nuevo objeto?

Para aclarar las cosas, aquí hay un ejemplo de lo que estoy tratando de hacer:

Entrada JSON:

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

Objeto utilizado para deserializar los datos:

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

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

Código que se llama:

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

Resultado resultante:

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

Salida deseada:

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

La única forma en que actualmente sé cómo resolverlo es crear un nuevo objeto y usarlo para serializar mi salida. No estaba seguro de si hay alguna forma más sencilla de hacer esto.

Respuestas a la pregunta(2)

Su respuesta a la pregunta