2

我有一个非常简单的 POCO(业务)对象,我使用 ASP.NET MVC 作为一些 json 返回给客户端。

例如。(请忽略缺少错误检查等)。

public JsonAction Index()
{
    Foo myFoo = MyService();
    return Json(myFoo);
}

科尔。现在,此对象包括以下公共属性...

public class Foo
{
    public decimal Score { get; set; }
    public Dictionary<string, string> KeyValues { get; set; }
}

现在,当对象被序列化为 json 时,十进制分数的精度为 7(我的精度为 2)并且 KeyValues 可能为空。如果它为空,则 json 看起来像这样......

"KeyValues" : null

我希望 KeyValues 不包含在 json 中,如果它为空的话。

有什么技巧可以帮助格式化这个 json 输出吗?还是我需要手动执行此操作.. 制作我自己的字符串.. 然后将其返回为.. 我不知道.. 一个 ContentAction?(埃克斯)。

请帮忙!

4

1 回答 1

1

ASP.Net MVC Json() 方法在内部使用 JavascriptSerializer 进行编码。有一些选项可以通过创建和注册自己的JavascriptConverter对象来控制类的序列化。

于 2009-09-15T06:12:47.893 回答