在使用JSON过程中遇到的一个空间释放问题

在对完成的模块进行空间访问检查中发现了这个问题,这刚开始接触JSON的使用,也不知道他的内部实现,因此该问题找了好久,终于发现是每个节点创建都会自动开辟空间,因此造成空间未成功释放的错误。

JSON未成功替换节点空间释放问题

cJSON_ReplaceItemInObject(ties,"time", CJSON_CreateString(curtime));

在上述节点替换函数中,若ties节点内没有time节点,则会替换失败,新创建的CJSON_CreateString(curtime)节点不会加入到大节点上,因此递归释放根节点时,新创建的该节点不会被释放。

因此未成功挂载到根上的节点需要单独释放空间。

大家在项目中一定要养成空间随开随关的习惯啊

相关推荐
bugcome_com7 小时前
JWT 知识小课堂:从入门到精通,一文吃透 JSON Web Token
前端·json
张洛闻Eren7 小时前
MySQL 维护稳定系统【MySQL第二课】
linux·数据库·mysql·云原生
ltl7 小时前
Linux 异步 I/O:epoll 与 io_uring 对比
linux
ltl8 小时前
压缩算法工程实践:吞吐、比率与 CPU 权衡
linux
多弗朗皮卡丘8 小时前
C语言梦开始的地方7:函数
c语言·开发语言
fiveym8 小时前
01 - iPXE + Clonezilla 网络装机原理解析
linux·运维·服务器·网络
-今昭-10 小时前
Ansible
linux·运维·ansible
mounter62511 小时前
MACsec 全景解析:从技术演进、核心架构到 DPU 硬件卸载与 K8s 大规模调度实战
linux·kubernetes·linux kernel·kernel·macsec
Herbert_hwt12 小时前
C语言零基础入门:循环控制与数据类型详解
c语言·数据结构·算法
IT邦德12 小时前
Dify1.6基于ubuntu系统的部署实战
linux·运维·ubuntu