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

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

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

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

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

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

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

相关推荐
会飞的土拨鼠呀3 小时前
Linux的存储使用率应该如何计算
linux·运维·服务器
不灭的黄金瞳1234 小时前
C语言手写顺序表
c语言·开发语言·数据结构
数据狐(Datafox)4 小时前
京东商品列表API技术解析与落地应用(含标准 JSON 示例)
java·大数据·前端·人工智能·python·数据分析·json
weixin_511255215 小时前
NGINX常用配置
linux·服务器·nginx
昌原的儿子LEO6 小时前
进程和线程(2)
linux·服务器·网络
会飞的土拨鼠呀6 小时前
Linux 真实内存使用率的核心计算标准
linux·运维·服务器
陈年老古董8 小时前
CentOS编译安装Python3.11完整教程
linux·笔记·学习·centos·python3.11
深念Y8 小时前
为什么选 Go:直观、可维护、AI 友好
linux·开发语言·人工智能·golang·agent·harness
笨笨饿8 小时前
#111_关于FreeRTOS面试的一些题目
linux·ubuntu·面试·职场和发展·centos·rtos
当代红领巾8 小时前
VMware 里装好 Linux 系统没有 ipv4 地址?
linux·运维·服务器