欢迎使用Markdown编辑器
#include <iostream>
#include <string>
#include <jsoncpp/json/json.h>
#include <fstream>
using namespace std;
void print_json(Json::Value data)
{
Json::Value::Members mem = data.getMemberNames();
for (auto iter = mem.begin(); iter != mem.end(); iter++)
{
cout << *iter << "\t: ";
getchar();
if (data[*iter].type() == Json::objectValue)
{
print_json(data[*iter]);
}
else if (data[*iter].type() == Json::arrayValue)
{
cout << endl;
auto cnt = data[*iter].size();
for (auto i = 0; i < cnt; i++)
{
cout << data[*iter][i];
}
cout << endl;
}
else if (data[*iter].type() == Json::stringValue)
{
cout << data[*iter].asString() << endl;
}
else if (data[*iter].type() == Json::realValue)
{
cout << data[*iter].asDouble() << endl;
}
else if (data[*iter].type() == Json::uintValue)
{
cout << data[*iter].asUInt() << endl;
}
else
{
cout << data[*iter].asInt() << endl;
}
}
return;
}
int get_ctree(string json_file){
Json::Reader reader;
Json::Value root;
ifstream in(json_file);
if (reader.parse(in, root)){
print_json(root);
}
return 0;
}
int main(int argc, char const *argv[])
{
get_ctree("pAtbTree.json");
return 0;
}
参考文章