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

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

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

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

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

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

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

相关推荐
shizhan_cloud3 分钟前
Shell 脚本的条件测试与比较
linux·运维
郝学胜-神的一滴4 分钟前
Linux kill命令与kill函数:从信号原理到实战解析
linux·服务器·开发语言·c++·程序人生
say_fall7 分钟前
C语言编程实战:每日一题:有效的括号
c语言·开发语言·数据结构·
A-刘晨阳8 分钟前
【Linux】中如何修改jar包里的文件类及配置等内容
linux·运维·jar
我在人间贩卖青春8 分钟前
shell脚本入门
linux·shell脚本
chenzhou__8 分钟前
LinuxC语言并发程序笔记补充
linux·c语言·数据库·笔记·学习·进程
莫叫石榴姐9 分钟前
如何让大模型更好地理解和处理 JSON 数据?
语言模型·json
被遗忘的旋律.11 分钟前
Linux驱动开发笔记(二十二)——多点电容触摸屏
linux·驱动开发·笔记
fy zs25 分钟前
Linux线程互斥与同步
linux·c++
---学无止境---25 分钟前
sys_ioperm 函数详解
linux