解决方法
当我从System.Web.Script.Serialization.
JavaScriptSerializer切换到Newtonsoft.Json时,我开始收到相同的错误.
使用合同解析器从this answer修复这个问题:
string output = JsonConvert.SerializeObject(theObject,new JsonSerializerSettings() { ContractResolver = new NHibernateContractResolver() });