zoukankan      html  css  js  c++  java
  • Json Self referencing loop detected

    Self referencing loop detected......的错误


    解决方案:

    1 增加  [JsonIgnore]  过滤关联,使其不参与序列化。

    这个方法简单粗暴。但是你就没办法获取关联的json对象。


    2 序列化时,使用如下代码,list是model对象(只适合关联对象较少)

    (但是经过楼主测试,关联比较多,比较复杂时,还是没卵用,直接卡死。这个问题的原因呼之欲出,也是由于主外键对象互相深度循环,牵涉到的实体层较多,关联对象更多,就不赘述了)

    JsonSerializerSettings settings = new JsonSerializerSettings();
                settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
                string result = JsonConvert.SerializeObject(list, settings);

    为了引用方便,我们可以作为扩展方法:

    public static class Extension
        {
    public static string ToJsonString<T>(this T list)
            {
                JsonSerializerSettings settings = new JsonSerializerSettings();
                settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
                string result = JsonConvert.SerializeObject(list, settings);
                return result;
            }
        }







  • 相关阅读:
    常见的HTTP状态码有哪些?
    使用Hbuild打包APP
    Android APK反编译
    小程序|页面跳转的方法
    vi/vim 命令
    webpack学习笔记
    egg框架学习笔记
    IOS弹出系统键盘后,页面不恢复
    js上传文件
    webpack学习笔记
  • 原文地址:https://www.cnblogs.com/hanjun0612/p/9779847.html
Copyright © 2011-2022 走看看