Saltar al contenido

Cómo eliminar k__BackingField de json cuando se deserializa

Victoria, parte de este staff, nos hizo el favor de redactar esta crónica ya que domina perfectamente dicho tema.

Solución:

Eliminar [Serializable] de tu clase

El serializador WebApi predeterminado agregará esa sintaxis “__BackingField:” a las propiedades automáticas de C#. Agregue esto a su WebConfig en App_Start para obtener el json de aspecto más limpio que podría estar buscando.

using Newtonsoft.Json;
...

config.Formatters.JsonFormatter.SerializerSettings = new JsonSerializerSettings();

En realidad, no se recomienda la sintaxis de propiedad automática si la clase se puede usar en la serialización. El motivo es que el compilador genera el campo de respaldo, que puede ser diferente cada vez que se compila el código. Esto puede causar problemas de incompatibilidad incluso si no se realiza ningún cambio en la clase (solo se vuelve a compilar el código).

Creo que aplicando DataMember attribute solucionará el problema en este caso. Pero recomendaría usar la sintaxis de propiedad completa, si la clase debe usarse en la serialización.

Sección de Reseñas y Valoraciones

Acuérdate de que te concedemos añadir una estimación si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *