JSON序列化输出包含Count属性

时间:2013-10-08 19:17:44

标签: c# asp.net-mvc arrays json

我正在尝试在C#中将对象数组序列化为JSON。通过数组我的意思是Object[](不是Array<Object>),我使用JsonMediaTypeFormatter作为MVC的一部分(序列化作为框架的一部分自动发生,但我可以覆盖它)。输出包含{"count":2,"value":[{...},{...},...]}",其中...是对象的json表示。我环顾四周,没有找到很多关于抑制这种行为的信息。我希望输出只是[{...},{...},...]而不是具有countvalues属性的对象。有没有人知道如何在不手动编写代码进行序列化的情况下实现这一目标?

1 个答案:

答案 0 :(得分:2)

您可以考虑使用JSON.NET框架之类的替代框架。如果您使用的是内置的.NET对象,我不知道您可以自定义多少,因为有些公共属性没有被忽略。不使用JSONMediaTypeFormatter,如果它允许您忽略属性,请考虑重写List或ArrayList以隐藏某些属性。

我建议不要直接返回数组,因为在客户端浏览器中存在可能会受到危害的安全漏洞(如果是消费者)。请参阅此reference了解详情。