我有一个此类,作为简化版本:
public class SportTableRow
{
public Int32 Won { get; set; }
public Int32 Lost { get; set; }
public Int32 Drawn { get; set; }
public Int32 For { get; set; }
}
当我通过WebAPI调用数据时,看起来像这样(再次被削减)...
public List<SportTableRow> Get()
{
var options = ....
var sport = ....
var locationCode = ...
return SportManager.GetOverallTable(sport, options,
locationCode).TableRows;
}
当我在调试器中检查返回的数据时,您可以在列表中看到属性...
但是,当我通过提琴手打电话时,您会看到缺少一些属性...
...似乎是任何Int
为0bool
的,为false的等。
我需要在实际的类上设置任何东西,还是在JSON序列化程序中设置什么?
JSON序列化程序JSON.NET默认情况下设置为排除设置为默认值的属性。对于实施例,boolean=false
,int=0
,int?=null
,object=null
,等将被排除在所得到的JSON。目的是使带宽最小化。
您可以通过更改设置来更改此行为:
System.Web.Http
.GlobalConfiguration.Configuration
.Formatters
.JsonFormatter
.SerializerSettings
.DefaultValueHandling
= Newtonsoft.Json.DefaultValueHandling.Include;
最好在Global.asax
文件中添加此行。但是请注意:这只会增加带宽,而没有真正的好处,尤其是如果您也控制客户端时
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句