# JsonLib
纯C语言编写的json库,可以进行json序列化和反序列化
该库主要用于 **json** 字符串的反序列化,以及将 **json** 对象进行序列化。
**json** 包含的数据类型可以分为:
**Object**
**Array**
**Number**
**String**
**null**
**Boolean**
通过修改 **hash** 表,及数组最小尺寸大小,可以适用于嵌入式设备进行 **json** 处理。例如:
#define HASH_MAX 32
#define ARRAY_MIN_SIZE 32
**主要功能函数介绍:**
**1.JSONCreate**:创建一个 **json** 对象,函数的返回值是一个 **json** 对象指针;
**2.JSONStringify**:将 **json** 对象序列化为 **json** 字符串;
**3.JSONParse**:将 **json** 字符串反序列化成 **json** 对象;
**4.JSONPrint**:以结构化的方式进行打印 **json** 对象,方便查看;
**5.JSONDestroy**:销毁 **json** 对象,进行内存回收;
**6.JSONIsContainsAttr**:检测 **json**对象是否包含某个属性;
**7.JSONSetNumberAttr**:为 **json** 对象添加一个数字属性节点,如果该属性节点已存在,则进行设置成数字类型;
**8.JSONSetStringAttr**:为 **json** 对象添加一个字符串属性节点,如果该属性节点已存在,则进行设置成字符串类型;
**9.JSONSetEmptyArrayAttr**:为 **json** 对象添加一个空数组属性节点,如果该属性节点已存在,则进行设置成数组类型;
**10.JSONSetArrayAttr**:为 **json** 对象添加一个数组属性节点,如果该属性节点已存在,则进行设置成数组类型;
**11.JSONSetObjectAttr**:为 **json** 对象添加一个数字属性节点,如果该属性节点已存在,则进行设置成数字类型;
**12.JSONSetNullAttr**:为 **json** 对象添加一个null属性节点,如果该属性节点已存在,则进行设置成null类型;
**13.JSONSetBooleanAttr**:为 **json** 对象添加一个布尔属性节点,如果该属性节点已存在,则进行设置成布尔类型;
**13.JSONRemoveAttr**:将 **json** 对象某个属性进行移除;
**14.JSONObjectDeepClone**:对 **json** 对象进行一次深拷贝;
**15.JSONArrayDeepClone**:对 **json** 数组进行一次深拷贝;
**16.JSONObjectGetAttrType**:获取 **json** 对象某个属性的数据类型;
**17.JSONNodeGetType**:获取 **json** 节点的数值类型;
**18.JSONNodeGetNumberValue**:从 **json** 数据节点中取出具体的数值;
**19.JSONNodeGetStringValue**:从 **json** 字符串节点中取出具体的字符串;
**20.JSONNodeGetBooleanValue**:从 **json** 布尔节点中取出具体的布尔值;
**21.JSONObjectGetNumberAttr**:从 **json** 对象中取出数字属性节点具体的数值;
**22.JSONObjectGetStringAttr**:从 **json** 对象中取出数字属性节点具体的字符串;
**23.JSONObjectGetArrayAttr**:从 **json** 对象中取出某个数组属性节点;
**24.JSONObjectGetObjectAttr**:从 **json** 对象中取出某个对象属性节点;
**25.JSONObjectGetNullAttr**:从 **json** 对象中取出某个null属性节点;
**26.JSONObjectGetBooleanAttr**:从 **json** 对象中取出某个boolean属性节点的布尔值;
**27.JSONArrayPushNumber**:向 **json** 数组中尾部添加数字元素;
**28.JSONArrayPushString**:向 **json** 数组中尾部添加字符串元素;
**29.JSONArrayPushArray**:向 **json** 数组中尾部添加数组元素;
**30.JSONArrayPushObject**:向 **json** 数组中尾部添加对象元素;
**31.JSONArrayPushNull**:向 **json** 数组中尾部添加null元素;
**32.JSONArrayPushBoolean**:向 **json** 数组中尾部添加Boolean元素;
**33.JSONArrayUnshiftNumber**:向 **json** 数组中头部添加数字元素;
**34.JSONArrayUnshiftString**:向 **json** 数组中头部添加字符串元素;
**35.JSONArrayUnshiftArray**:向 **json** 数组中头部添加数组元素;
**36.JSONArrayUnshiftObject**:向 **json** 数组中头部添加对象元素;
**37.JSONArrayUnshiftNull**:向 **json** 数组中头部添加null元素;
**38.JSONArrayUnshiftBoolean**:向 **json** 数组中头部添加Boolean元素;
**39.JSONArrayGetLength**:获取 **json** 数组长度;
**40.JSONArrayGetNode**:获取 **json** 数组长某个元素;
**41.JSONArrayPop**:移除 **json** 数组尾部元素;
**42.JSONArrayShift**:移除 **json** 数组头部元素;
没有合适的资源?快使用搜索试试~ 我知道了~
纯C语言编写的json库,可以进行json序列化和反序列化.zip
共8个文件
h:3个
c:3个
md:1个
需积分: 1 0 下载量 25 浏览量
2024-02-28
19:18:49
上传
评论
收藏 23KB ZIP 举报
温馨提示
纯C语言编写的json库,可以进行json序列化和反序列化.zip
资源推荐
资源详情
资源评论
收起资源包目录
纯C语言编写的json库,可以进行json序列化和反序列化.zip (8个子文件)
JsonLib-master
jsonDataStruct.h 2KB
example.c 821B
LICENSE 1KB
md5.h 1KB
md5.c 5KB
jsonLib.h 12KB
jsonLib.c 134KB
README.md 4KB
共 8 条
- 1
资源评论
日刷百题
- 粉丝: 5311
- 资源: 951
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功