Estoy serializando objetos y volviendo como json desde mi servicio web. Sin embargo, estoy tratando de omitir las propiedades nulas de json serializado. ¿Hay alguna forma de hacer esto? Estoy usando Web Api MVC 4 beta.Eliminando propiedades nulas de Json en MVC Web Api 4 Beta
Respuesta
La Web API de ASP.NET actualmente (there are plans para cambiarla para la versión final para usar Json.Net) usa DataContractJsonSerializer de forma predeterminada para serializar JSON.
Para que pueda controlar el proceso de serialización con los atributos estándar DataContract/DataMember. Para omitir las propiedades nulas, puede configurar el EmitDefaultValue en falso.
[DataContract]
public class MyObjet
{
[DataMember(EmitDefaultValue = false)]
public string Prop1 { get; set; }
[DataMember(EmitDefaultValue = false)]
public string Prop2 { get; set; }
}
Si desea tener más control sobre cómo se serializan las respuestas JSON se puede usar el paquete que contiene WebAPIContrib formateadores usando Json.Net o el construido en JavaScriptSeralizer.
En Json.Net puede usar JsonPropertyAttribute con NullValueHandling = NullValueHandling.Ignore. Parece que aquí no hay forma de hacer esto para toda la clase, solo explicidad para cada campo/propiedad de clase.
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public string SometimesNull { get; set; }
FYI. Hay a reasons por qué Json.Net serializa por defecto las propiedades con valores nulos. Eche un vistazo, pueden ser algunas de estas razones aplicables a sus casos.
- 1. POSTAL JSON con MVC 4 Controlador API
- 2. MVC 4 Web API Areas Error 404
- 3. Microsoft ASP .NET API web, MVC 4 y arquitectura SPA
- 4. parámetros de URL en MVC 4 Web API
- 5. Valor de parámetro predeterminado en MVC 4 Web API
- 6. asp.net MVC Web API VS asp.net MVC 4 y MVC 3 aplicación de Internet
- 7. WCF Web API vs servicios web ASP.NET MVC JSON
- 8. Cómo devolver JSON desde el controlador de MVC WEB API
- 9. Enrutamiento en Asp.net Mvc 4 y Web Api
- 10. ASP.NET MVC 4 RC Web API Parámetro Número Encuadernación
- 11. MVC lado 4 Beta de error de instalación lateral
- 12. Prueba de integración y prueba unitaria (WEB API mvc 4)
- 13. Autenticación API web ASP.NET MVC 4 con proveedor de membresía
- 14. ASP.NET MVC 4 Web Api: características de diagnóstico
- 15. MVC 4 Web API - Rutas de claves compuestas
- 16. Convertir objeto de JSON en MVC 4
- 17. API web ASP.NET 4 MVC: documentación para enrutamiento complejo
- 18. Publicación de DateTime en un ApiController en ASP MVC 4 (Beta)
- 19. ASP.NET MVC 4 WebAPI (beta): cómo cambiar el tamaño máximo del búfer de respuesta
- 20. gestión de nombres de propiedades devuelven en JSON desde api web
- 21. XmlSerializer. Mantener las propiedades de cadena nulas?
- 22. Gestión de excepciones ASP.NET MVC Web API
- 23. ASP.NET MVC (4) - propiedades de BIND en un cierto orden
- 24. Problemas al implementar el atributo ValidatingAntiForgeryToken para la API web con MVC 4 RC
- 25. Extracción barra de Web API JSON C#
- 26. Custom MVC AuthorizeAttribute para ASP.NET Web API
- 27. ASP.NET MVC 4/API web - inserte el procesador Razor para Acepta: text/html
- 28. C# WCF Web API 4 MaxReceivedMessageSize
- 29. Actualicé manualmente una aplicación web MVC de 3 a 4, no puedo agregar controladores API
- 30. Web App Beta
En realidad estoy tratando de dejar de lado. – kkocabiyik