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

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

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

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

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

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

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

相关推荐
Brilliantwxx12 小时前
【Linux】 进程(1) 从冯诺依曼体系到进程核心概念
linux·运维·服务器
城管不管13 小时前
重生——第十次面试之开源中国一面挂
java·linux·开发语言·算法·面试·职场和发展·开源
蜀道山老天师13 小时前
Zabbix监控Apache与Nginx应用实践完整指南
linux·运维·nginx·apache·zabbix
暖核13 小时前
Linux实战入门:从零编写第一个Bash Shell脚本
linux·运维·bash
March.s13 小时前
深入理解 Linux 系统启动原理
linux·运维·服务器
YSL07012413 小时前
动态内存管理
c语言
Magic-ZYJ13 小时前
HarmonyOS 调用系统文件保存器导出 JSON 与 CSV
华为·json·harmonyos·鸿蒙·独立开发者
BreezeJuvenile14 小时前
基于C语言的SPSC环形缓冲区程序实现
c语言·环形缓冲区
zbyyd14 小时前
Linux 基础与 Shell 命令
linux·运维·arm开发
起名真的太难了14 小时前
Linux系统运维与远程管理核心命令速查指南
linux·运维·服务器