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

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

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

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

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

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

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

相关推荐
巴巴媛66613 小时前
【Debug1】程序死机,while(1)循环,怎么办?
c语言·笔记·stm32·嵌入式硬件·bug
TDTC_XQ13 小时前
模板类的写法
linux·c++
Lxx_Zw13 小时前
PID 用顺了,然后呢:增强手术与前馈
c语言·stm32·单片机·嵌入式硬件
BD_Marathon14 小时前
JSONLoader加载JSON文件
json
帷幕落秋14 小时前
经典命令场景与软硬链接
linux·运维
BeiGuTing_code14 小时前
C链表基础(二)有视频模拟!!!
c语言·链表·音视频
CCCCCCCCharlie14 小时前
深入解析I/O底层:文件描述符与缓冲区真相
linux·开发语言·c++·算法
kmomo..14 小时前
Linux 驱动开发学习笔记:UART、触摸屏与 ADC 驱动实战
linux·驱动开发·学习
学逆向的14 小时前
C 选择结构的执行效率分析
c语言·开发语言·算法·网络安全
先知后行。14 小时前
各种文件系统
linux·服务器·数据库