Csharp/C#教程:在MVC Web Api 4 Beta中从Json中删除Null属性分享


在MVC Web Api 4 Beta中从Json中删除Null属性

我正在序列化对象并从我的Web服务返回json。 但是,我试图从序列化的json中省略null属性。 有没有办法做到这一点? 我正在使用Web Api MVC 4 beta。

ASP.NET Web API目前( 计划在最终版本中更改它以使用Json.Net)默认使用DataContractJsonSerializer来序列化JSON。

因此,您可以使用标准DataContract / DataMember属性控制序列化过程。 要跳过null属性,可以将EmitDefaultValue设置为false。

[DataContract] public class MyObjet { [DataMember(EmitDefaultValue = false)] public string Prop1 { get; set; } [DataMember(EmitDefaultValue = false)] public string Prop2 { get; set; } } 

如果您想要更多地控制JSON响应的序列化方式,可以使用包含使用Json.Net或内置JavaScriptSeralizer的格式化程序的WebAPIContrib包。

在Json.Net中,您可以将JsonPropertyAttribute与NullValueHandling = NullValueHandling.Ignore一起使用。 看起来这里没有办法为全class做这个,只为每个类字段/属性明确。

 [JsonProperty(NullValueHandling = NullValueHandling.Ignore)] public string SometimesNull { get; set; } 

仅供参考。 因此,Json.Net默认使用空值序列化属性是有原因的 。 看一下,可能是适用于您的案例的一些原因。

上述就是C#学习教程:在MVC Web Api 4 Beta中从Json中删除Null属性分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1012617.html

(0)
上一篇 2021年12月30日
下一篇 2021年12月30日

精彩推荐