gpt4 book ai didi

c# - 当值为零时,WebAPI 不为 INT 返回 JSON

转载 作者:太空狗 更新时间:2023-10-29 21:01:49 27 4
gpt4 key购买 nike

我有这个类,作为简化版:

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;
}

当我在调试器中检查返回的数据时,您可以在列表中看到属性...

enter image description here

但是,当我通过 fiddler 调用时,您可以看到缺少一些属性...

enter image description here

...它似乎是任何 Int 的 0 和 bool 的假等。

我需要在实际类上设置任何内容,还是在 JSON 序列化程序中设置一些内容?

最佳答案

JSON 序列化器 JSON.NET默认设置为排除设置为默认值的属性。例如,boolean=falseint=0int?=nullobject=null 等。 将从生成的 JSON 中排除。目的是尽量减少带宽。

您可以通过更改设置来更改此行为:

    System.Web.Http
.GlobalConfiguration.Configuration
.Formatters
.JsonFormatter
.SerializerSettings
.DefaultValueHandling
= Newtonsoft.Json.DefaultValueHandling.Include;

最好在 Global.asax 文件中添加这一行。但请注意:这只会增加带宽而没有实际好处,尤其是如果您也控制客户端的话

关于c# - 当值为零时,WebAPI 不为 INT 返回 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19743395/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com