资料介绍
软件简介
C语言JSON解析库:Exjson
什么是Exjson?
Exjson是一款高性能的基于Flex & Bison的?JSON?解析器,Xserver引擎自带,其他需要使用的只需要引入几个头文件和源文件即可
Exjson适应场合
Exjson适合于在需要在底层C语言或者C++语言层面使用?JSON?功能的场景。目前大部分接口使用的都是?JSON?格式传输,后面增加?xml解析库
注意
Exjson支持注释,Exjson中注释以?#
?或者//
?开头,一直延续到行尾,如下是合格的?Exjson格式
{ "name": "Exjson", // 名字:Exjson "version": "1.0", # 版本号 "platform": [ "MacOSX", "Linux", "Windows" ] }
APIs
// 生成一个EXJSON对象 EXJSON_API EXJSON * INIT_EXJSON(); // 生成一个 string: long int 的键值对 EXJSON_API int add_object_int(EXJSON *exjson, char *key, long val); // 生成一个 string: double 的键值对 EXJSON_API int add_object_double(EXJSON *exjson, char *key, double val); // 生成一个 string : string 的键值对 EXJSON_API int add_object_string(EXJSON *exjson, char *key, char *val); // 生成一个 string: {} 的键值对 EXJSON_API int add_object_object(EXJSON *exjson, char *key, void *val); // 生成一个 string: [] 的键值对 EXJSON_API int add_object_array(EXJSON *exjson, char *key, void *val); // 上面添加方法的一个通用函数 EXJSON_API int add_object_ptr(EXJSON *exjson, char *key, void *val, unsigned char val_type); // 生成一个 long int 的一个数组元素 EXJSON_API int add_array_int(EXJSON *exjson, long val); // 生成一个 double 的一个数组元素 EXJSON_API int add_array_double(EXJSON *exjson, double val); // 生成一个 string 的一个数组元素 EXJSON_API int add_array_string(EXJSON *exjson, char *val); // 生成一个 对象{} 的一个数组元素 EXJSON_API int add_array_object(EXJSON *exjson, void *val); // 生成一个 数组的 的一个数组元素 EXJSON_API int add_array_array(EXJSON *exjson, void *val); // 上面方法的通用函数 EXJSON_API int add_array_ptr(EXJSON *exjson, void *val, unsigned char val_type); // 打印 EXJSON 信息 PRINT_EXJSON(exjson); // 从 EXJSON结构中获取数据 EXJSON_API void *exjson_get_val_from_key(EXJSON *exjson, char *key); EXJSON_API void *exjson_get_val_from_index(EXJSON *exjson, int index); // 编码JSON字符串为EXJSON结构 EXJSON_API extern EXJSON *decode_json(char *json_string); // EXJSON结构解码为JSON字符串 EXJSON_API char *encode_json(EXJSON *exjson); // 使用完毕后,需要释放内存 EXJSON_API void destroy_exjson(EXJSON *exjson);
示例
#include#include "exjson.h" int main(int argc, char *argv[]) { EXJSON *v = decode_json("{\n" " "b": 100,\n" " "a":{\n" " "a": "b"\n" " }\n" "}"); // 返回的字符串因为分配了内存,需要手动释放 char *str = encode_json(v); printf("%s", str); free(str); destroy_exjson(v); return 0; }
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- C和C++实物精选《C专家编程》 0次下载
- C和C++经典著作《C和指针》 0次下载
- C和C++经典著作-C专家编程.PDF 0次下载
- C++常见设计模式解析与实现 11次下载
- 如何深度解析C++拷贝构造函数详细资料说明
- C++开源库的详细资料合集免费下载
- C++的框架、库和资源资料汇总大全
- C++的开源库大全详细资料说明
- C++的框架、库和代码分析的资料大全
- C++程序设计教程之C++工具的详细资料说明 4次下载
- C++程序设计教程之C++的初步知识的详细资料说明 31次下载
- VISUAL C++教程之VISUAL C++的安装和使用方法 19次下载
- c280x / c2801x C / C++头文件和外周 实例快速启动 7次下载
- The C++ Standard Library 0次下载
- c++标准库手册 43次下载
- 基于OpenHarmony标准系统的C++公共基础类库案例:SafeQueue 340次阅读
- 基于OpenHarmony标准系统的C++公共基础类库案例:SafeStack 361次阅读
- 基于OpenHarmony标准系统的C++公共基础类库案例:SafeBlockQueue 332次阅读
- OpenHarmony标准系统C++公共基础类库案例:HelloWorld 553次阅读
- vb语言和c++语言的区别 2431次阅读
- C++简史:C++是如何开始的 637次阅读
- C语言和C++中那些不同的地方 986次阅读
- 使用C++编写通用库并在 Rust 中使用它 (WASI) 1133次阅读
- C与C++混合编程是什么 1744次阅读
- C++语言的发展 617次阅读
- C/C++基础知识汇总 2438次阅读
- C++:引用的使用场景 4092次阅读
- C++封装:this指针 3492次阅读
- 基于STM32F4的 C++封装(完整代码) 9696次阅读
- C++输入/输出流 933次阅读
下载排行
本周
- 1NS1081/NS1081S/NS1081Q USB 3.0闪存数据手册
- 0.40 MB | 4次下载 | 2 积分
- 2光伏并网逆变器原理
- 7.31 MB | 3次下载 | 2 积分
- 3T20电烙铁原理图资料
- 0.27 MB | 2次下载 | 免费
- 4PL83081 双路恒流同步降压转换器技术手册
- 3.34 MB | 1次下载 | 免费
- 5PL88052 4.8V至60V输入,5A,同步降压转换器技术手册
- 3.36 MB | 1次下载 | 免费
- 6LX8201微孔雾化驱动芯片电路图资料
- 0.15 MB | 1次下载 | 免费
- 7PC6200_7V直流电机驱动器技术手册
- 0.47 MB | 次下载 | 免费
- 8恒温晶体振荡器(OCXO)FOC-2D:20.6×20.6mm在通信基站和测试设备中的应用参数规格
- 485.75 KB | 次下载 | 免费
本月
- 1如何看懂电子电路图
- 12.88 MB | 329次下载 | 免费
- 2RK3588数据手册
- 2.24 MB | 14次下载 | 免费
- 3PC5502负载均流控制电路数据手册
- 1.63 MB | 12次下载 | 免费
- 4STM32F10x参考手册资料
- 13.64 MB | 12次下载 | 1 积分
- 5OAH0428 V1.0英文规格书
- 5.86 MB | 8次下载 | 免费
- 6NS1081/NS1081S/NS1081Q USB 3.0闪存数据手册
- 0.40 MB | 4次下载 | 2 积分
- 7PID控制算法学习笔记资料
- 3.43 MB | 3次下载 | 2 积分
- 8光伏并网逆变器原理
- 7.31 MB | 3次下载 | 2 积分
总榜
- 1matlab软件下载入口
- 未知 | 935132次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420064次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233089次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191415次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183349次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81599次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73818次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65990次下载 | 10 积分
评论