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

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

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

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

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

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

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

相关推荐
wsad053212 小时前
CentOS Stream 10 Docker 容器无法访问外网:xt_addrtype 内核模块缺失解决方法
linux·网络·docker·云原生·eureka·centos
x173880627312 小时前
Linux
linux
加油码12 小时前
探秘 volatile关键字:编译器的过度优化
linux·bug·信号处理
不会就选b14 小时前
Linux之线程(二)
linux·运维·服务器
灵析表格14 小时前
json_ObjectToKV 函数:Excel解析JSON对象的权威方案
json·excel
代码AC不AC14 小时前
【Linux】NAT与代理
linux·nat·代理
灵析表格14 小时前
灵析表格文本处理函数技术白皮书:WPS Excel 官方函数扩展库 18 项文本规整与正则批处理企业落地标准
ai·json·excel·wps
Aurorar0rua15 小时前
CS50 x 2024 Notes Memory - 03
c语言·开发语言·学习方法
leisoo80971 天前
100GBA股股票数据怎么存ClickHouseRedisMySQLJSON完整对比
大数据·linux·服务器·开发语言·python
青瓦梦滋1 天前
传输层UDP/TCP协议
linux·网络·c++·网络协议·tcp/ip·udp