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

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

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

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

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

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

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

相关推荐
大侠归来22 分钟前
C语言内存管理:从栈到堆的完整指南
c语言·开发语言·python
cu14324 分钟前
细谈GM7123C的具体功能与其应用
c语言·c++·人工智能·嵌入式硬件
路溪非溪1 小时前
Linux下Shell脚本基础知识(二)
linux·运维·服务器
LeoCrawls1 小时前
Python 读取 JSON 常见报错排查,附完整处理函数
python·json·php
嵌入式分享1 小时前
驱动之路#44:硬件 I2C 和软件 I2C 谁更坑?
linux·嵌入式硬件
Logic1011 小时前
C语言/数据结构位运算题解:异或XOR找出弹子游戏机中数量为奇数的数字——只出现奇数次
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
不会就选b1 小时前
Linux之再次理解udp
linux·运维·udp
guo_wen_qiang2 小时前
云服务器kibana环境搭建
linux·运维·服务器
流浪0012 小时前
Linux系统篇42——线程(七) pthread库管理线程的工作流,从创建到回收
linux·操作系统·线程·线程创建到销毁
Dragon~Snow2 小时前
Linux server CentOS stream 10系统构建
linux·运维·centos