文件格式utf-8
json内容:
{
"num": 3,
"samples": [
{
"retVal": 0,
"user": "user",
"pwd": "pwd",
"device_id": "",
"mountpoint": "mount",
"freq": 0,
"authtype": 1001
},
{
"retVal": 1,
"user": "Aileen",
"pwd": "xxx",
"device_id": "3",
"mountpoint": "mount",
"freq": 2,
"authtype": 1001
},
{
"retVal": -1,
"user": "Andy",
"pwd": "yyy",
"device_id": "3",
"mountpoint": "mount",
"freq": 1,
"authtype": 1001
}
]
}
代码:
#include "json/json.h"
#include <fstream>
#include <iostream>
#include <string>
int main(int argc, char* argv[]) {
Json::Reader reader;
Json::Value root;
std::ifstream ifs;
ifs.open("E:\\refer_code\\jsoncpp\\example\\readFromStream\\withComment2.json");
//std::string temp;
// getline(ifs, temp);
// std::cout << temp << std::endl;
if (reader.parse(ifs, root)) {
int num = root["num"].asInt();
for (int i = 0; i < num; i++) {
int retVal = root["samples"][i]["retVal"].asInt();
std::string user = root["samples"][i]["user"].asString();
std::string pwd = root["samples"][i]["pwd"].asString();
std::string device_id = root["samples"][i]["device_id"].asString();
std::string mountpoint = root["samples"][i]["mountpoint"].asString();
int authtype = root["samples"][i]["authtype"].asInt();
int freq = root["samples"][i]["freq"].asInt();
//call func & check value
}
}
ifs.close();
return 0;
}