Question

J'ai écrit une fonction qui nifty accepter un system.object, réfléchir sur ses propriétés et sérialiser l'objet dans une chaîne JSON. Il ressemble à ceci:

public class JSONSerializer
{

    public string Serialize(object obj)

Maintenant, je veux être en mesure de le faire pour sérialiser une dynamique / ExpandoObject, mais parce que mon sérialiseur utilise la réflexion, il n'est pas capable de le faire. Quelle est la solution?

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());
    }
}
Était-ce utile?

La solution

Je pense que, cette question est très similaire: Comment puis-je réfléchir sur les membres de l'objet dynamique?

Au moins, les réponses devraient vous aider aussi.

Autres conseils

Je suggère d'utiliser JSON.NET sérialiser. La version 3.5 gère des objets dynamiques sérialisation (comme expando). Désérialisation de JSON objet dynamique implique un peu d'efforts, mais cela aussi est pas trop lourde. Les listes de postes ci-dessous que sur:

sérialisation dynamique objet

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top