嗨,当我尝试序列化JSON时,我遇到了错误。我有一个模型,它有List属性; 为MyModel:
public virtual int Kod { get; set; }
public virtual string Ad { get; set; }
public virtual string TrafikKod { get; set; }
public virtual int TapuKod { get; set; }
public virtual bool AktifMi { get; set; }
[JsonIgnore]
public virtual IList<TapuIlceModel> IlceList { get; set; }
public TapuIlModel()
{
IlceList = new List<TapuIlceModel>();
}
MyApiController:
[Route("api/TapuZeminApi/GetZemins")]
[HttpPost]
public string GetZeminsFromZeminArg(object arg)
{
ZeminArg zemArg = SConvert.DeserializeJSON<ZeminArg>(arg.ToString());
List<TapuZeminModel> zeminList = TapuModule.GetZeminListFromArgs(zemArg);
string jsonResult = SConvert.SerializeJSON(zeminList);
return jsonResult;
这是关于我的回复数据错误的图片;
这是我的内心感受;
。{“在'NHibernate.Proxy.DefaultLazyInitializer'上从'ReadOnly'获取值时出错。”}
。{“代理已分离(即会话为空)。只有当代理与开放会话相关联时,才能访问只读/可修改设置。”}
我该怎么办?我需要所有数据......谢谢
当我再次检查时,我发现了类似的东西:
为什么有2个基地???为什么名字不同?有人知道吗?
答案 0 :(得分:1)
序列化 SerializeJSON(object)时遇到相同的错误,我尝试使用 JsonSerializerSettings 和 ContractResolver 的JsonConvert.SerializeObject,它将起作用。
string jsonResult = JsonConvert.SerializeObject(object, new JsonSerializerSettings() {
ContractResolver = new NHibernateContractResolver()
});