104 votos

¿Cómo puedo cambiar los nombres de propiedad al serializar con Json.net?

Tengo algunos datos en C# objeto DataSet. Me puede serializar ahora el uso de un Json.net conversor como este

DataSet data = new DataSet();
// do some work here to populate 'data'
string output = JsonConvert.SerializeObject(data);

Sin embargo, este utiliza la propiedad de los nombres de data al imprimir .archivo json. Me gustaría cambiar los nombres de las propiedades a ser algo diferente (es decir, el cambio 'foo', 'bar').

En el Json.net la documentación, en "Serializar y Deserializar JSON' -> 'Atributos de Serialización" se dice que "JsonPropertyAttribute... permite que el nombre personalizado". Pero no hay ningún ejemplo. ¿Alguien sabe cómo usar un JsonPropertyAttribute para cambiar el nombre de la propiedad a otra cosa?

(Enlace directo a la documentación)

Json.neto de la documentación parece ser escasa. Si usted tiene un gran ejemplo voy a tratar de conseguir que se añade a la documentación oficial. Gracias!

175voto

Darin Dimitrov Puntos 528142

Se podría decorar la propiedad que usted desea controlar su nombre con el [JsonProperty] atributo que le permite especificar un nombre diferente:

[JsonProperty(PropertyName = "FooBar")]
public string Foo { get; set; }

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: