Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何格式化一些ASP.NET MVC Json结果?_Asp.net Mvc_Json_Serialization_Poco - Fatal编程技术网

Asp.net mvc 如何格式化一些ASP.NET MVC Json结果?

Asp.net mvc 如何格式化一些ASP.NET MVC Json结果?,asp.net-mvc,json,serialization,poco,Asp.net Mvc,Json,Serialization,Poco,我有一个非常简单的POCO(业务)对象,我将使用ASP.NETMVC将其作为一些json返回给客户端 (请忽略缺少错误检查等) 基尔。现在,此对象包括以下公共属性 public class Foo { public decimal Score { get; set; } public Dictionary<string, string> KeyValues { get; set; } } 我希望在json中不包含键值,如果它为空的话 有什么技巧可以帮助格式化这个js

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

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

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

public class Foo
{
    public decimal Score { get; set; }
    public Dictionary<string, string> KeyValues { get; set; }
}
我希望在json中不包含键值,如果它为空的话

有什么技巧可以帮助格式化这个json输出吗?或者我需要手动执行此操作。。做我自己的绳子。。然后将其作为..返回。。我不知道。。诉讼?(周)


请帮忙

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

这不值得费心,但我相信有人知道怎么做。当你每秒锁定300次api调用时。对等一下,你这么做是为了表现?你分析过了吗?你的瓶颈可能在别的地方。明白了。所以我需要提供我自己的代码来告诉序列化程序我的poco需要如何被序列化和/或反序列化。基本上,这相当于提供自定义Serialize()和Deserialize()方法,这些方法迭代对象属性并将它们的值添加到要JSON的字典中。您将跳过空值。一种构造自己的字符串的奇特方法;)没有机会要求任何博客文章/示例?对于shi+s和giggs?我认为我链接的文档页面上的示例非常好。在创建要放入字典的“文本”和“值”项的地方,您可以输入“propertyname”和“propertyvalue”。如果我以后有时间,我会亲自尝试,但不要指望它;)不幸的是,您不能向JSONResult使用的序列化程序添加转换器。因此,您需要创建自己的JavaScriptSerializer,并使用.RegisterConverters()注册转换器。创建ContentResult并将Content属性设置为对象,并使用序列化程序进行序列化。将ContentType设置为“application/json”,然后返回ContentResult.:-)
public class Foo
{
    public decimal Score { get; set; }
    public Dictionary<string, string> KeyValues { get; set; }
}
"KeyValues" : null