当前位置:网站首页 > 技术博客 > 正文

json for modern c++ 解析



cJSON使用详细教程 | 一个轻量级C语言JSON解析器

原文链接:https://blog.csdn.net/Mculover666/article/details/

它采用完全独立于编程语言的文本格式来存储和表示数据,语法简洁、层次结构清晰,易于人阅读和编写,同时也易于机器解析和生成,有效的提升了网络传输效率。

cJSON项目托管在Github上,仓库地址如下:

https://github.com/DaveGamble/cJSON

使用Git命令将其拉取到本地:

cJSON使用cJSON结构体来表示一个JSON数据,定义在cJSON.h中,源码如下:

首先,它不是将一整段JSON数据抽象出来,而是将其中的一条JSON数据抽象出来,也就是一个键值对,用上面的结构体 strcut cJSON 来表示,其中用来存放值的成员列表如下:

在键值对结构体中,当该键值对的值是一个嵌套的JSON数据或者一个数组时,由child指针指向该条新链表。

首先来讲述一下链表中的一些术语:

cJSON_AddTrueToObject(cJSON * const object, const char * const name);

cJSON_AddFalseToObject(cJSON * const object, const char * const name);

cJSON_AddBoolToObject(cJSON * const object, const char * const name, const cJSON_bool boolean);

cJSON_AddNumberToObject(cJSON * const object, const char * const name, const double number);

cJSON_AddStringToObject(cJSON * const object, const char * const name, const char * const string);

cJSON_AddRawToObject(cJSON * const object, const char * const name, const char * const raw);

cJSON_AddObjectToObject(cJSON * const object, const char * const name);

cJSON提供了一个API,可以将整条链表中存放的JSON信息输出到一个字符串中:

该JSON数据链表的关系如图:

解析方法如下:

版权声明


相关文章:

  • 特征提取有哪些方法2025-07-17 15:01:02
  • linux writel2025-07-17 15:01:02
  • 开窗函数mysql2025-07-17 15:01:02
  • sprintf函数用法详解例子2025-07-17 15:01:02
  • typeof()和instanceof()的用法区别2025-07-17 15:01:02
  • 串口调试助手最新版本2025-07-17 15:01:02
  • 原型和原型链的理解js2025-07-17 15:01:02
  • 运维监控平台2025-07-17 15:01:02
  • fortran蒙特卡洛2025-07-17 15:01:02
  • java实现图形验证码2025-07-17 15:01:02