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

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

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

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

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

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

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

相关推荐
irislinAmelia几秒前
Day11文章_多路视频流加权公平调度与令牌桶QoS
c语言·人工智能
科小墨25 分钟前
【Linux 开发者系列 · 第 1 节】NPM 完全指南:它是什么、为什么重要、在 Linux 上怎么用
linux
IT北辰30 分钟前
Linux运维:sed命令修改配置文件IP
linux
牢姐与蒯43 分钟前
Linux文件(三).Ext系列文件系统
linux·运维·服务器
2401_869769591 小时前
linux基本指令2
linux
?re?ta?rd?ed?1 小时前
五层网络结构图概念理解
linux
码少女2 小时前
Linux--套接字编程
linux·服务器·网络
进击的荆棘2 小时前
Linux系统——进程控制(下)
linux·运维·服务器·进程
爱网络爱Linux9 小时前
【系列】每天一个 Linux 命令(53)startx 命令
linux·rhce·rhca·linux运维·linux命令大全·红帽认证
ZhengEnCi9 小时前
L2A-一个域名如何访问多台云服务器-子域名、路径前缀与Nginx反向代理选型指南
linux·人工智能