2010-06-09 8 views
6

Napisałem fajną funkcję, która będzie akceptować system.object, zastanowić się nad jej właściwościami i serializować obiekt do łańcucha JSON. Wygląda to tak:Zastanów się nad ExpandoObject

public class JSONSerializer 
{ 

    public string Serialize(object obj) 

Teraz chcę być w stanie to zrobić, aby szeregować dynamiczny/ExpandoObject, ale ponieważ mój serializer wykorzystuje odbicia, nie jest w stanie tego zrobić. Jakie obejście?

public class Test 
{ 
    public dynamic MakeDynamicCat() 
    { 
     dynamic newCat = new ExpandoObject(); 
     newCat.Name = "Polly"; 
     newCat.Pedigree = new ExpandoObject(); 
     newCat.Pedigree.Breed = "Whatever"; 

     return newCat; 
    } 

    public void SerializeCat() 
    { 
     new JSONSerializer().Serialize(MakeDynamicCat()); 
    } 
} 
+0

możliwe duplikat [? Jak mogę odzwierciedlić nad członkami dynamicznego obiektu] (http://stackoverflow.com/questions/2634858/how-do-i- reflect-over-the-members-of-dynamic-object) – nawfal

Odpowiedz

0

Proponuję użyć JSON.NET do serializacji. Wersja 3.5 obsługuje serializowanie dynamicznych obiektów (takich jak expando). Deserializacja z JSON do dynamicznego obiektu wymaga niewielkich wysiłków, ale to też nie jest zbyt uciążliwe. Poniższe wykazy post, który się:

Dynamic Object Serialization

Powiązane problemy