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

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

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

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

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

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

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

相关推荐
Yupureki4 小时前
《Linux网络编程》8.网络层IP原理
linux·运维·服务器·网络·ip
Je1lyfish5 小时前
CMU15-445 (2025 Fall/2026 Spring) Project#3 - QueryExecution
linux·c语言·开发语言·数据结构·数据库·c++·算法
墨染千千秋6 小时前
C/C++ Keywords
c语言·c++
xyy_4968 小时前
wsl-localhost
linux
linux修理工8 小时前
linux禁用root登录
linux
小王C语言9 小时前
xshell免密登录
linux·运维·服务器
请输入蚊子10 小时前
《操作系统真象还原》 第十一章 用户进程
linux·操作系统·操作系统真像还原
爱编码的小八嘎10 小时前
C语言完美演绎9-23
c语言
likerhood10 小时前
Fastjson中的JSON.parseObject()详细讲解
java·json
Qt程序员10 小时前
网络 I/O 面试必考点:从多进程多线程到异步 I/O 与多路复用
linux·网络编程·多线程·epoll·网络io·阻塞io·io_uring