You can use the DataContract/DataMember attributes from System.Runtime.Serialization
[DataContract]
public class MyDynamicClass : DynamicObject
{
[DataMember]
public string MyNormalProperty { get; set; }
}
This way the serialisation will work no matter what serialiser you use...