json解析入门(jsoncpp库)
来源:互联网 发布:查看进程占用的端口 编辑:程序博客网 时间:2024/06/05 10:13
在使用C++开发中,很多时候都会用到配置文件,配置文件常见的有json和xml这两种文件,其中json常用的解析库有:jsoncpp和boos库,下面就简单的讲讲jsoncpp是如何解析json文件的。
json文件内容如下所示:
// josn文件内容{ "name" : "HaKing", "age" : 24, "array" : [ { "first":"HaKing" }, { "secend":"is" }, { "third":"coder" } ]}
现在使用jsoncpp解析上面的json文件
// 控制台输出需要包含的头文件#include <iostream>// 获取json文件中数据所需要包含的头文件#include <fstream>// 解析json需要包含的json库#include "json.h"// 使用ostringstream需要包含的头文件#include <sstream>int main(int argc, const char * argv[]){ std::ifstream ifs; ifs.open("/Users/Fsy/Desktop/C++/Json/haking.json"); Json::Reader reader; Json::Value root; if (!reader.parse(ifs, root,false)) { return -1; } std::ostringstream str; // 1.直接读取值 str << root["name"].asString() << " age is " << root["age"] << std::endl; // 2.读取数组 Json::Value arrayObj = root["array"]; for (unsigned int i = 0; i < arrayObj.size(); i++) { if (arrayObj[i].isMember("first")) { str << arrayObj[i]["first"].asString() << " "; continue; } if (arrayObj[i].isMember("secend")) { str << arrayObj[i]["secend"].asString() << " "; continue; } if (arrayObj[i].isMember("third")) { str << arrayObj[i]["third"].asString() << std::endl; continue; } } std::cout << str.str() << std::endl; return 0;}// 输出/*HaKing age is 24HaKing is coder*/
以上就是json文件的简单解析示例了,如果不想编译jsoncpp库,那么你只需要将jsoncpp的源代码拷贝到你的工程中,就可以使用jsoncpp库解析json文件了,为了读者方便,下面提供jsoncpp的源代码:http://download.csdn.net/detail/mitu405687908/9498176
0 0
- json解析入门(jsoncpp库)
- C++解析JSON格式(JSONCpp库)
- C++解析JSON jsoncpp库
- C++的Json解析库:jsoncpp和boost (转)
- C++的Json解析库:jsoncpp
- C++ JSONCPP 库 解析 Json数据
- json解析库jsoncpp的使用
- C++的Json解析库:jsoncpp
- WTL 解析json,借助jsoncpp库
- C++的Json解析库:jsoncpp
- C++的Json解析库:jsoncpp
- 使用JsonCPP解析JSON数据(VC++)
- 使用jsoncpp解析JSON数据(转)
- 用库 jsoncpp 解析 JSON
- jsoncpp 解析 JSON
- C++解析JSON(jsonCpp)
- jsoncpp解析 json对象
- 使用jsoncpp解析json
- 关于vs2010调用python中Py_Initialize函数报错的原因
- Synaptics触摸板驱动以及安装步骤
- Java 字符串全面解析
- java代码调用.bat文件
- 快启动制作U盘启动盘详细教程
- json解析入门(jsoncpp库)
- 06-图3 六度空间 (30分)
- 帮你理清Java中字符与字节的编码关系
- Adam学习12之loadFasta中的Fragment参数配置
- Spring mvc提交form包含date类型数据错误400问题。
- 大数据面试部分摘要
- awk对某列进行筛选
- Notepad++连接QQ浏览器
- 如何连接开发环境和生产环境?