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

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

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

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

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

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

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

相关推荐
2401_890603403 小时前
Linux 进程控制
linux·运维·服务器
浪浪山小野猪3 小时前
JSON 常见错误大全:尾逗号、单引号、注释,一次讲透
json
Yyyyyy~4 小时前
【C语言】数据类型和变量【下】
c语言
啦啦啦啦啦zzzz4 小时前
时间轮定时器
linux·服务器·网络·c++·定时器
神威难绷泪4 小时前
Linux应用软件编程:目录IO framebuffer
linux
byte轻骑兵4 小时前
【BlueZ 】BLE 与经典蓝牙的差异:BlueZ 中双模式的源码区分设计
linux·bluez·电脑蓝牙·嵌入式蓝牙
小雪崩5 小时前
嵌入式学习 day30:minilog
linux·c语言·学习
嵌入式小能手5 小时前
飞凌嵌入式ElfBoard-Shell脚本编写基础-传参-$0
linux
丰锋ff5 小时前
初识Linux操作系统
linux·运维·服务器
嵌入式小能手6 小时前
飞凌嵌入式ElfBoard-Shell脚本编写基础-特殊变量
linux·运维·服务器