json 与 cJSON


一、json是什么?

1.简介

1.json指的是JavaScript对象表示法(JavaScript Object Notation)
2.josn是轻量级的文本数据交换格式
3.json独立于语言
4.json具有自我描述性,更易理解
5.json 使用 JavaScript 语法来描述数据对象,但是 json 仍然独立于语言和平台。json 解析器和 json 库支持许多不同的编程语言。

2.json的语法规则

json的语法规则:https://www.runoob.com/json/json-syntax.html

二、cJSON

1.简介

cJSON是一个超轻巧,携带方便,单文件,简单的可以作为ANSI-C标准的JSON解析器。

我们在使用JSON格式时,如果只是处理简单的协议,可以依据JSON格式,通过对字符串的操作来进行解析与创建。然而随着协议逐渐复杂起来,经常会遇到一些未考虑周全的地方,需要进一步的完善解析方法,此时,使用比较完善的JSON解析库的需求就提出来了。

基于方便引用的考虑,我们希望这个JSON解析库是用C语言实现的。同时,为了避免太过复杂的C源码包含关系,希望最好是一个C文件来实现。通过在网络上的查找,发现cJSON是比较符合要求的。cJSON只有一个C文件,一个头文件,包含到项目源码中非常方便,而且其实现效率也是非常高的。

2.下载

git clone https://github.com/DaveGamble/cJSON.git
cd cJSON

在这里插入图片描述
把这两个放入你的项目中即可。
编译时加上选项-lm因为cJSON源码中用到了math库。

3.cJSON

在这里只讲一些项目中用到的一些API。
详细请参考:https://blog.csdn.net/makunIT/article/details/107199000
如果博客看不懂或者有疑问,请打开源码:vim cJSON.hvim cJSON.c仔细阅读,此源码并不复杂。

cJSON *cJSON_CreateObject()//创建一个json对象,返回一个cJSON结构体类型的指针。
void cJSON_AddItemToObject(cJSON *object, const char *string, cJSON *item)//向json对象中添加一对元素,object为json对象,string为加入其中对象的name,item为加其中对象的value。
char *cJSON_Print(cJSON *item)//将一个cJSON结构体代表的json对象转换为一个json格式的字符串。
void cJSON_Delete(cJSON *c)//释放一个cJSON对象占用的内存空间。

说明:在这里插入图片描述
添加操作的底层都是这个函数,只不过起了一个新的名字,所以我们只学习这一个函数:**void cJSON_AddItemToObject(cJSON *object, const char *string, cJSON *item)**即可。

4.实例

在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值