C++JSON解析器
来源:互联网 发布:利文斯顿受伤前的数据 编辑:程序博客网 时间:2024/05/21 17:53
2012年,在公司项目刚接触到要使用JSON时,几个前端项目都是用MFC开发的,没找到合适的JSON解析库。
索性自己开发一个简洁实用移植性强的json解析工具,主要达到以下目标:
1. 能够解析JSON字符串
2. 能够生成JSON字符串
3. 在项目中不是一个纯粹的JSON工具,可作为数据结构来使用
4. 内存自动释放
5. 路径表达式获取或设置 json结构中的某个字段
6. 能便捷的增加json字段
工具只包含两个文件:
gxx_base.h, gxx_base.cpp
点击下载源代码
如代码中问题和bug,欢迎指正。
请大家见谅使用gxx(我姓名的缩写)作为文件的前缀,这样做的原因是:个人原创工具类,也是为了和工程中其他文件做区分避免混淆。
为什么名字为gxx_base而不是gxx_json呢?
笔者曾经问过自己同样的问题,答案是:它不是纯粹的json解析器,它是一个很实用的数据结构容器。
实际上,从2012年至今, 在公司很多项目中笔者都使用到gxx_base里提供的工具, 经过5年的维护修改,现在已经很稳定了,想在分享给有需要的猿同胞。
下面开始进入正题:
引入到工程中,会报如下错误:
error C3861: “GXX_TRACE”: 即使使用参数相关的查找,也未找到标识符
解决方法: 打开 gxx_base.h, 然后重新定义自己的 GXX_PRINT宏, GXX_PRINT宏用来输出日志信息的, 请实现自定义的日志信息输出
如何解析 JSON字符串
示例1:解析下面这串 json,读取abc数组,读取key1对应的值
{"abc":[1,2,3,{"key1":456,"key2":[4,5,6]}]}
示例2:解析下面的json串,读取学号为 002学生的信息。
{
"schoolName": "清华大学",
"students": [
{
"id": "001",
"name": "张三",
"age": "20"
},
{
"id": "002",
"name": "李四",
"age": "23"
},
{
"id": "003",
"name": "王五",
"age": "22"
}
]
}
- C++JSON解析器
- C#,Json解析,Json遍历
- JSON解析类(C#)
- JSON解析类(C#)
- c#,js解析json
- C语言解析JSON
- c语言解析json
- 【C++】Json解析
- c语言解析json
- c json解析jansson
- c#、js解析json
- c语言解析json数据
- c语言解析json数据
- c语言解析json数据
- c语言解析json数据
- iOS Objective-C Json解析
- Objective-C JSON字符串解析
- c语言解析json数据
- OA系统权限管理设计方案
- dubbo总结
- 生成随机数Random()
- 【数据抓取】EChart图表展示
- android车机调试的教程链接
- C++JSON解析器
- pycharm2016.2.3注册码到期, 激活, 破解版
- java代码运行时间超时exception方法
- Android 7.0 新特性
- 发现一个有趣的小程序,可以控制系统声音播放音乐
- 4.环境搭建-hive安装
- 异常------>类路径初始化异常(classpathxmlapplicationcontext)
- 框架之事务----自动更新数据库的问题
- SNMP消息传输机制