Web API 2不会序列化基本返回类型

时间:2014-10-03 11:55:12

标签: c# json serialization asp.net-web-api

我有一个返回原始类型的WebAPI,如int,Int64,UInt64等。

public Int64 Count()
{
    return 1337;
}

Returns:

1337

即使我的客户端使用HTML标头请求数据

Accept: application/json

API仍然只返回数字,因此在JSON术语中无效。在XML中,它将正确序列化为

<long>1337</long>

有没有&#34;容易&#34;很多方法解决这个问题的方法?

尝试过的解决方案

我尝试使用这种简单的方法:

public Dictionary<string, Int64> Count()
{
    return new Dictionary<string, Int64>() {{"Count", 1337}};
}

但这有一个非常难看的XML输出。所以现在我为原始类型制作了一个模型..

public Number Count()
{
    return new Number(1337);
}

Returns:

{ "Value" : 1337 }

我正在寻找更容易的东西,我可能最终会编写一个通用类,除了包装原语之外什么都不做。

0 个答案:

没有答案