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

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

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

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

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

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

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

相关推荐
码农小韩几秒前
基于Linux的C++学习——循环
linux·c语言·开发语言·c++·算法
ling-4515 分钟前
Linux-day09 11
linux·运维·服务器
202321336054 刘16 分钟前
Linux常用命令分类整理
linux·运维·数据库
Q741_14717 分钟前
海致星图招聘 数据库内核研发实习生 一轮笔试 总结复盘(2) 作答语言:C/C++ 哈夫曼编码 LRU
c语言·数据库·c++·算法·笔试·哈夫曼编码·哈夫曼树
南工孙冬梅18 分钟前
【久久派】 新世界系统安装
linux
zbguolei18 分钟前
Debian提示:“用户名” 不是 sudoers 文件
linux·服务器·debian
梦星辰.19 分钟前
超大 JSONL 数据集交互式查看器 Linux便捷工具
linux·windows·microsoft
你怎么知道我是队长20 分钟前
C语言---位域
c语言·开发语言
黄金贼贼27 分钟前
2026最新java单元测试json校验器
java·单元测试·json
optimistic_chen31 分钟前
【Redis系列】主从复制
linux·数据库·redis·缓存·中间件·命令行·主从复制