zoukankan      html  css  js  c++  java
  • fastjson生成JSON字符串的时候出现$ref

    fastjson生成JSON字符串的时候出现$ref

    转载自:http://wuzhuti.cn/201426!826!05!130202.html

      可以通过选项 DisableCircularReferenceDetect来禁止循环引用检测:

    JSON.toJSONString( yourObject, SerializerFeature.DisableCircularReferenceDetect);  


        循环引用 很多场景中,我们需要序列化的对象中存在循环引用,在许多的json库中,这会导致stackoverflow。在功能强大的fastjson中,你不需要担心这个问题。例如:

      


     

    A a = new A();  

    B b = new B(a);  

    a.setB(b);  

    String text = JSON.toJSONString(a); // {"b":{"a":{"$ref":".."}}}  

    A a1 = JSON.parseObject(text, A.class);  

    Assert.assertTrue(a1 == a1.getB().getA());  


    引用是通过"$ref"来表示的
              引用 描述
              "$ref":".." 上一级
              "$ref":"@" 当前对象,也就是自引用
              "$ref":"$" 根对象
              "$ref":"$.children.0" 基于路径的引用,相当于 root.getChildren().get(0)

  • 相关阅读:
    access 连接数据库
    Debug 和 Release 的区别
    Centos
    打印画面
    读取文件夹以及消除
    常用的文件文件夹目录的操作函数
    db的操作
    从数据库取数据
    pdf文件的作成
    读取文件
  • 原文地址:https://www.cnblogs.com/kongxc/p/9077931.html
Copyright © 2011-2022 走看看