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);
相关推荐
alexhilton7 小时前
Compose中的CameraX二维码扫描器
android·kotlin·android jetpack
eric*168810 小时前
Android15 enableEdgeToEdge 全面屏沉浸式体验
android·edgetoedge
小智社群12 小时前
小米安卓真机ADB对硬件操作
android·adb
嗷o嗷o12 小时前
Android BLE 为什么连上了却收不到数据
android
pengyu12 小时前
【Kotlin 协程修仙录 · 炼气境 · 后阶】 | 划定疆域:CoroutineScope 与 Android 生命周期的绑定艺术
android·kotlin
朝星12 小时前
Android开发[5]:组件化之路由+注解
android·kotlin
随遇丿而安12 小时前
Android全功能终极创作
android
随遇丿而安12 小时前
第1周:别小看 `TextView`,它其实是 Android 页面里最常被低估的组件
android
summerkissyou198715 小时前
Android-基础-SystemClock.elapsedRealtime和System.currentTimeMillis区别
android
ian4u16 小时前
车载 Android C++ 完整技能路线:从基础到进阶
android·开发语言·c++