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

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

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

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

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

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

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

相关推荐
敖云岚1 小时前
【Linux】基于虚拟机实现网络的管理
linux·服务器·网络
luck_me51 小时前
如何远程执行脚本不留痕迹
linux·运维·服务器
邹诗钰-电子信息工程1 小时前
嵌入式自学第二十二天(5.15)
c语言
-SGlow-1 小时前
Linux相关概念和易错知识点(40)(HTML资源交互、网页管理、搜索引擎)
linux·运维·服务器·网络·html·交互
默心1 小时前
centos7部署mysql5.7
linux·运维·mysql·centos
bing_1581 小时前
Spring MVC 根据请求头 (如 Accept) 怎么返回 JSON 或 XML 数据?
spring·json·mvc
-SGlow-1 小时前
Linux相关概念和易错知识点(39)(URL、HTTP)
linux·运维·http
因缘而起11 小时前
【Linux】gcc从源码编译安装,修改源码,验证修改的源码
linux·运维·服务器
山川而川-R3 小时前
开机自启动python程序_ubuntu22.04
linux·运维·服务器
范纹杉想快点毕业3 小时前
以项目的方式学QT开发(一)——超详细讲解(120000多字详细讲解,涵盖qt大量知识)逐步更新!
c语言·数据结构·c++·git·qt·链表·github