跳到主要内容

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;
}
}

//}略....