如何覆盖System.Web.Script.Services.ScriptMethod的json序列化

时间:2013-01-15 10:08:37

标签: .net json serialization jsonserializer

覆盖类的序列化(序列化)的最佳实践方法是什么?

具体来说,我有Key / Value对集合。默认生成的JSON如下所示:

[{"Key":1,"Value":"A"},{"Key":2,"Value":"B"},{"Key":3,"Value":"C"},{"Key":4,"Value":"D"},{"Key":5,"Value":"E"},{"Key":6,"Value":"F"}]

这非常浪费。

我想覆盖它以产生更像这样的东西:     [{ “1”: “A”:},{ “2”: “B”:},{ “3”: “C”:},{ “4”: “d”:},{ “5”: “E”:},{ “6”: “F”:}]

这是一半长度的一个字节,更容易在javascript端使用。

实现ISerliazable似乎不起作用 - 我认为json序列化程序忽略了它

Google找到了我http://blogs.msdn.com/b/carlosfigueira/archive/2011/09/06/wcf-extensibility-serialization-callbacks.aspx 但对我来说,这看起来像是一种可怕的做事方式 - 当然必须有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

好的,这是奇怪的事情。

我将我的收藏改为SortedList,它实际上给了我以后的json。

所以这适用于我的具体示例,但我可以想象在其他场合我可能想要覆盖序列化。