序列化为JSON时发生错误

时间:2015-07-27 07:02:54

标签: json list serialization nhibernate json.net

嗨,当我尝试序列化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;

这是关于我的回复数据错误的图片;

enter image description here

这是我的内心感受;

。{“在'NHibernate.Proxy.DefaultLazyInitializer'上从'ReadOnly'获取值时出错。”}

。{“代理已分离(即会话为空)。只有当代理与开放会话相关联时,才能访问只读/可修改设置。”}

我该怎么办?我需要所有数据......谢谢

当我再次检查时,我发现了类似的东西:

enter image description here

为什么有2个基地???为什么名字不同?有人知道吗?

1 个答案:

答案 0 :(得分:1)

序列化 SerializeJSON(object)时遇到相同的错误,我尝试使用 JsonSerializerSettings ContractResolver 的JsonConvert.SerializeObject,它将起作用。

string jsonResult = JsonConvert.SerializeObject(object, new JsonSerializerSettings() {
            ContractResolver = new NHibernateContractResolver()
        });
相关问题