项目简介
本项目是基于C语言的JSON解析与生成库,为有基本C/C++编程基础的同学提供从零开发实际软件的教程。通过此项目,可了解实现符合标准的JSON解析器和生成器,具备手写递归下降解析器、采用标准C语言(C89)、支持跨平台编译器等特点。
项目的主要特性和功能
- 符合标准的JSON解析器和生成器,能解析和生成符合标准的JSON数据。
- 手写递归下降解析器用于解析JSON数据。
- 支持Windows、Linux、OS X等操作系统及vc、gcc、clang等编译器。
- 仅处理UTF - 8编码的JSON文本。
- JSON中的数字类型以
double
存储。 - 解析器和生成器代码合共少于500行,简洁易学习。
- 采用测试驱动开发(TDD)确保代码正确性和稳定性。
- 遵循C语言编程风格,提供良好代码示例。
- 使用合适数据结构存储和操作JSON数据。
- 设计简洁易用的API接口。
- 使用断言确保代码正确性。
- 支持Unicode和UTF - 8编码处理。
- 支持浮点数的解析和生成。
安装使用步骤
1. 准备源码
假设用户已下载本项目的源码文件,其结构如下:
/tutorial01
/leptjson.c
/test.c
/tutorial01_answer
/leptjson.c
/test.c
/tutorial02
/leptjson.c
/test.c
/tutorial02_answer
/leptjson.c
/test.c
/tutorial03
/leptjson.c
/test.c
/tutorial03_answer
/leptjson.c
/test.c
/tutorial04
/leptjson.c
/test.c
/tutorial04_answer
/leptjson.c
/test.c
/tutorial05
/leptjson.c
/test.c
/tutorial05_answer
/leptjson.c
/test.c
/tutorial06
/leptjson.c
/test.c
/tutorial06_answer
/leptjson.c
/test.c
/tutorial07
/leptjson.c
/test.c
/tutorial07_answer
/leptjson.c
/test.c
/tutorial08
/leptjson.c
/test.c
2. 编译项目
在项目根目录下,使用以下命令编译项目:
bash
gcc -o leptjson_test tutorial01/leptjson.c tutorial01/test.c
3. 运行测试
编译完成后,运行生成的可执行文件进行测试:
bash
./leptjson_test
4. 查看测试结果
测试程序将输出测试结果,包括通过的测试数量和总测试数量,以及通过率。若所有测试都通过,则项目功能正常。
5. 集成到其他项目
将leptjson.c
和leptjson.h
文件集成到其他C语言项目中,即可使用本项目的JSON解析和生成功能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】