JSON 转换问题 $ref“: “$[0].list[1]

现象

java 复制代码
[
    {
        "delete": false,
        "index": 0,
        "list": [
            {
                "duration": 71000,
                "id": 0,
                "mediumId": 9231114101362,
                "path": "",
                "point": 100,
                "title": "垃圾"
            },
            {
                "duration": 66000,
                "id": 0,
                "mediumId": 9231114112346,
                "path": "",
                "point": 100,
                "title": "切糕"
            },
            {
                "$ref": "$[0].list[1]"
            },
            {
                "$ref": "$[0].list[0]"
            }
        ],
        "tagId": "23080713857"
    }
]

解决方法

在list集合中出现" r e f " : " ref": " ref":".list"表示在该list中存在重复引用的情况。为了解决这个问题,可以使用FastJson提供的关闭引用检测的功能。

JSON.toJSONString(list, SerializerFeature.DisableCircularReferenceDetect);

java 复制代码
        List<Object> list = new ArrayList<>();
        Object obj1 = new Object();
        Object obj2 = new Object();
        list.add(obj1);
        list.add(obj2);
        list.add(list.get(1));

        String jsonString = JSON.toJSONString(list, SerializerFeature.DisableCircularReferenceDetect);
        System.out.println(jsonString);
相关推荐
muyouking115 小时前
Tauri Android 开发踩坑实录:从 Gradle 版本冲突到离线构建成功
android·rust
Jerry6 小时前
Compose 为元素赋予动画特效
android
Jeled7 小时前
协程工具类
android·android studio
磨十三7 小时前
C++ 容器详解:std::list 与 std::forward_list 深入解析
开发语言·c++·list
吹个口哨写代码9 小时前
处理文本编辑器存的json格式报错问题,对编辑器存的字段进行转换处理,再通过json返回
java·编辑器·json
阿兰哥10 小时前
【调试篇5】TransactionTooLargeException 原理解析
android·性能优化·源码
APIshop10 小时前
代码实例:Python 爬虫抓取与解析 JSON 数据
爬虫·python·json
爱吃水蜜桃的奥特曼11 小时前
玩Android Flutter版本,通过项目了解Flutter项目快速搭建开发
android·flutter
太过平凡的小蚂蚁11 小时前
Android 版本特性完全解析:从6.0到16.0的实用指南
android
杨筱毅11 小时前
【底层机制】【Android】深入理解UI体系与绘制机制
android·底层机制