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);
相关推荐
程序员陆业聪1 天前
2025 年客户端技术盘点与 2026 年技术展望
android
xhBruce1 天前
Android USB 存储 冷启动(开机自动插着 U 盘)场景
android·usb·vold
CheungChunChiu1 天前
在 Android 14 上使用 scrcpy 的投屏问题与解决方案
android·adb
xhBruce1 天前
Android屏幕旋转DisplayRotation - Android15
android·dms
alexhilton1 天前
使用LoRA微调Gemma实现移动端推理
android·kotlin·android jetpack
冬奇Lab1 天前
Zygote进程孵化与应用启动机制:从fork到SystemServer的完整旅程
android·源码阅读
姜行运1 天前
【Linux】基础指令2
android·linux·服务器
大模型玩家七七1 天前
技术抉择:微调还是 RAG?——以春节祝福生成为例
android·java·大数据·开发语言·人工智能·算法·安全
低调小一1 天前
Fresco 图片加载全链路解析:从 SimpleDraweeView 到 Producer 责任链
android·开发语言·fresco
Asmewill1 天前
Kotlin高阶函数
android