2009-08-11 8 views
0

Est-ce que quelqu'un connaît des exemples décents de classes JavaScriptConverter personnalisées? Le seul exemple de MSDN est celui de convertir un ListItemCollection. Qu'en est-il des classes personnalisées? Que faire si la classe personnalisée a une propriété d'une autre classe personnalisée? Avons-nous besoin de deux convertisseurs? Toute référence serait grandement appréciée.Classes JavaScriptConverter personnalisées

Merci!

Répondre

2

Vous ne devez utiliser qu'un seul convertisseur. L'exemple décrit essentiellement comment utiliser le convertisseur JavaScript pour toute classe personnalisée. Il n'a pas besoin d'être une classe qui fait partie du cadre.

Il fonctionnera également pour toutes les propriétés d'une classe personnalisée qui sont elles-mêmes une classe personnalisée. JSON considère les objets comme des collections de paires clé/valeur. L'exemple de documentation montre comment vous devriez prendre les propriétés de votre objet et les placer dans Dictionnaires (un type d'objet paire clé/valeur). Si vous avez besoin d'un type personnalisé imbriqué, vous pouvez simplement imbriquer des paires clé/valeur dans votre collection de paires clé/valeur principale. De plus, à moins que vous ayez des besoins très spécifiques (la sérialisation intégrée ne fonctionnera pas ou ne produira pas ce que vous voulez), vous devriez utiliser la classe JavaScriptSerializer.

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

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

Cela devrait faire ce que vous voulez dans 95% des cas.

Questions connexes