一种资源有限单片机处理cJSON数据的方法

一般单片机处理cJSON格式的数据都直接使用cJSON库,但对于Ram较小的单片机,由于资源有限,这并不合适,但我们可以根据cJSON数据的特定格式,使用土方法,直接对字符进行查找裁剪即可

cpp 复制代码
//截取字符串str中字符a与字符b间的子字符串到dest中,Num为从第num个字符a后开始截取
void substr(u8* str,u8* dest,u8 num,char a,char b)
{
  u16 i=0,j=0,count=0;
  while(1)
  {
	if(*(str+i) == a) count++;

	if(count != num) i++;
	else break;
  }
  while(*(str+i+j+1) != b) j++;
  memcpy(dest,&str[i+1],j);
  *(dest+i+j)='\0';
}
相关推荐
Zevalin爱灰灰22 分钟前
能源与电源管理电路——防倒灌电路
单片机·嵌入式硬件·电源管理
jianqiang.xue3 小时前
ESP-IDF保姆级入门02|Ubuntu24.04搭建EIM-GUI开发环境,打通Windows_Linux双平台统一开发
stm32·单片机·物联网
无垠的广袤3 小时前
【工业树莓派 CM0 Dev Board】扩展板设计
linux·python·嵌入式硬件·pcb设计·模块化·传感器
嵌入式-老费4 小时前
esp32开发与应用(添加数据分区)
单片机·嵌入式硬件
嵌入式-老费5 小时前
esp32开发与应用(OTA升级)
嵌入式硬件
CYLAM20257 小时前
STC32G 单片机0.96“OLED 西历农历可调万年历 (1901-2100)
单片机·嵌入式硬件·stc32g·万年历·西历农历·0.96”oled 12864·4x4 矩阵键盘
Discipline~Hai8 小时前
ARM03-蜂鸣器和中断
c语言·arm开发·单片机·嵌入式硬件·嵌入式
KaifuZeng9 小时前
电源面试问题汇总一
单片机·嵌入式硬件·面试·电路
驱动探索者10 小时前
RISC-V PLIC 深度解析:从 Spec 到 Zephyr 驱动实现
单片机·嵌入式硬件·中断控制器
LCG元11 小时前
STM32 FreeRTOS 实战:任务调度 + 互斥锁 + 消息队列 + 串口命令解析器
stm32·单片机·嵌入式硬件