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

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

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

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

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

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

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

相关推荐
Horn Still Sounds15 分钟前
Linux网络并发服务器模型与SQLite数据库学习笔记
linux·服务器·数据库
10mAh26 分钟前
【Linux】CPU 100% 怎么排查?——top、pidstat、jstack 到线程定位实战
linux·运维·服务器
深念Y30 分钟前
开机启动优化记录
linux·开机
谢斯34 分钟前
[unity]如何在unity中添加newtonsoft-json
unity·json·游戏引擎
热心网友俣先生1 小时前
2026国赛C题:五年命题规律与预测
java·c语言·前端·数学建模
Titan20241 小时前
网络基础:传输层协议知识梳理
linux·服务器·网络
一叶龙洲2 小时前
Ubuntu从图标到卸载应用
linux·windows·ubuntu
爱吃提升2 小时前
VMware虚拟机迁移系统磁盘完整教程(VMware Workstation17)
linux·运维·服务器
2401_868534782 小时前
网规备考_5.4 防火墙及访问控制技术
linux·网络协议
wuminyu2 小时前
Linux内核线程调度与虚拟线程调度机制系统级深度剖析
java·linux·c语言·jvm·c++