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

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

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

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

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

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

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

相关推荐
开开心心就好几秒前
高效U盘容量检测工具,一键辨真假,防假货
linux·运维·服务器·线性代数·安全·抽象代数·1024程序员节
lpfasd12311 分钟前
Zig 简介:C 的现代化继任者
c语言·开发语言
蓝天居士21 分钟前
VMware Workstation挂载共享文件夹(3)
linux·ubuntu
czxyvX25 分钟前
001-Linux基本指令(一)
linux
流云鹤28 分钟前
2026牛客寒假算法基础集训营1(B C E G K L)
c语言·算法
IT布道30 分钟前
基于Rocky Linux制作Apache HTTPD 2.4.66 的RPM安装包
linux·运维·apache
你怎么知道我是队长32 分钟前
C语言---排序算法9---堆排序法
c语言·算法·排序算法
攻城狮的梦34 分钟前
go中json数据的转化
json
RisunJan34 分钟前
Linux命令-lsusb(列出系统中所有USB总线以及连接到它们的设备信息)
linux·运维·服务器
wsad05321 小时前
CentOS 7 Minimal 配置静态 IP 完整指南(VMware NAT 模式)
linux·tcp/ip·centos