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

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

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

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

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

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

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

相关推荐
iCxhust1 小时前
linux目录是否保存在硬盘 启动后读入解析的
linux·运维·服务器
懒鸟一枚1 小时前
Linux 系统 Service 服务配置详解
linux·服务器·网络
RisunJan2 小时前
Linux命令-readonly(Bash 内建设置只读变量)
linux
伏 念2 小时前
AI Coding 零基础实战教程
c语言·进程·预处理
你家人养牛2 小时前
OOC Relation Plugin:C 语言面向对象 开发的高效辅助工具
c语言·vscode
想你依然心痛2 小时前
嵌入式C代码规范:MISRA-C 2012核心规则解读——类型安全与未定义行为深度剖析
c语言·安全·代码规范
FlightYe3 小时前
FFmpeg移动端硬解机制
linux·网络·ffmpeg·音视频·实时音视频·视频编解码
笨笨没好名字3 小时前
Leetcode刷题python3版第一周(下)
linux·算法·leetcode
PixelBai3 小时前
JSON转表格使用教程:从入门到精通
json
未来之窗软件服务3 小时前
计算机考试-C语言 应用题—东方仙盟
c语言·开发语言·仙盟创梦ide·东方仙盟·计算机考试