我已经写了极好的功能,将接受system.object,反映其属性和序列化对象转换成JSON字符串。它看起来像这样:

public class JSONSerializer
{

    public string Serialize(object obj)

现在,我希望能够做到这一点序列化动态/ ExpandoObject,而是因为我的序列化使用反射,它是不是能够做到这一点。有什么解决办法?

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());
    }
}
有帮助吗?

解决方案

我想,这个问题是非常相似:如何反映了动态对象的成员?

至少答案应该帮助你。

其他提示

我建议使用JSON.NET序列化。版本3.5支持序列化动态对象(如Expando的)。从JSON反序列化到动态对象包括一个小的努力,但同样不是太麻烦了。下面交列出了出来:

动态对象序列化

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top