jsoncpp
· 阅读需 2 分钟
在C++中使用json
引用自:C++ 之 C++ 操作 json 文件(C++读写json文件)及jsoncpp配置详解_水亦心的博客-CSDN博客_c++ json
准备工作
假设jsoncpp的库名称为jsoncpp.lib
则在源码中加入如下指令,链接库
#pragma comment(lib, "jsoncpp.lib")
把jsoncpp/include目录下单的json复制到项目然后使用或者直接引用
编写
假设有一数据文件data.json
,内容如下:
{
"name":"shuiyixin",
"major":[
{
"AI":"MachineLearning"
},
{
"AI":"DeepLearning"
},
{
"AI":"ComputerVision"
}]
}
然后在main.cpp
编写程序:
//...略
#pragma comment(lib, "jsoncpp.lib")
#include "json/json.h"
//...略{
Json::Reader str_reader, file_reader;
Json::Value str_root, file_root;
std::string str_json = "...";
std::ifstream file_json.open("...");
str_reader.parse(str_json, str_root);
file_reader.parse(file_json, file_root);
//然后就可以这样使用数据
if (reader.parse(strValue, value))
{
string out = value["name"].asString();
cout << out << endl;
const Json::Value arrayObj = value["major"];
for (unsigned int i = 0; i < arrayObj.size(); i++)
{
out = arrayObj[i]["AI"].asString();
cout << out<<endl;
}
}
//}略....