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);
相关推荐
沐怡旸16 小时前
【底层机制】垃圾回收(GC)底层原理深度解析
android·面试
whatever who cares16 小时前
android/java中gson的用法
android·java·开发语言
用户02738518402617 小时前
【Android】活动的正/异常生命周期和启动模式、标志位详解
android
zhougl99618 小时前
cookie、session、token、JWT(JSON Web Token)
前端·json
nono牛18 小时前
MTK平台详解`adb devices`输出的序列号组成
android·linux·adb·智能手机
zhangphil18 小时前
Android通过SQL查询trace分析进程启动线程总数量
android
下位子18 小时前
『OpenGL学习滤镜相机』- Day3: 着色器基础 - GLSL 语言
android·opengl
bqliang18 小时前
Jetpack Navigation 3:领航未来
android·android studio·android jetpack
云存储小天使19 小时前
安卓蛙、苹果蛙为什么难互通?
android
陈大头铃儿响叮当21 小时前
Android Studio升级后,Flutter运行android设备报错
android·flutter·android studio