自定义JavaScriptConverter类

时间:2009-08-11 16:51:14

标签: javascript serialization asp.net-3.5

有没有人知道自定义JavaScriptConverter类的正确例子? MSDN的唯一示例是转换ListItemCollection的示例。自定义类怎么样?如果自定义类具有另一个自定义类的属性,该怎么办?我们需要两个转换器吗?任何参考将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:2)

您只需要一个转换器。该示例基本概述了如何将JavaScript转换器用于任何自定义类。它不需要是作为框架一部分的类。

它也适用于自定义类的自定义类的任何属性。

JSON将对象视为键/值对的集合,因此文档示例显示了如何获取对象的任何属性并将它们放入Dictionaries(一种键/值对对象)。如果您需要嵌套的自定义类型,则可以在主键/值对集合中嵌套键/值对。

此外,除非您有非常特殊的需求(内置序列化不起作用,或者不输出您想要的内容),您应该只使用JavaScriptSerializer类。

JavaScriptSerializer serializer = new JavaScriptSerializer();
MyCustomObject obj = new MyCustomObject();
string json = serializer.Serialize(obj);

MyCustomObject object2 = serializer.Deserialize<MyCustomObject>(json);

在95%的情况下,这应该做你想要的。