#include <json/json.h>
#include <json/value.h>
#include <json/reader.h>
#include <json/forwards.h>
#include <json/config.h>
#define TEM_DEBUG(tmp) \
std::cout << "[" << __DATE__ << "] "<< __LINE__ << " " << __FUNCTION__ <<" == debug: " << tmp << std::endl
#include <ostream>
#include <iostream>
#include <fstream>
using namespace std;
#ifdef _WIN32
#pragma comment(lib, "jsoncpp.lib")
#endif
#define N 5
int main(int argc, char* argv[])
{
TEM_DEBUG("start test");
Json::Value root;
Json::Value totalCountry;
Json::Value countryForest;
Json::Value countryInfo;
Json::Value country;
Json::Value forestInfo;
Json::Value forest;
ofstream ofs;
ofs.open("helloarray.txt");
/**country info*/
countryForest["1"] = "countryForest";
countryForest["2"] = "countryForest";
countryInfo["1"] = "countryInfo";
countryInfo["2"] = "countryInfo";
country["countryInfo"] = countryInfo;
country["countryForest"] = countryForest;
for(int i = 0; i < N; i++)
totalCountry["country"].append(country);
totalCountry["countryCount"] = N;
root["totalCountry"] = totalCountry;
/**forest info*/
forestInfo["forestCount"] = N;
forest["1"] = 1;
forest["2"] = 2;
for (int i = 0; i < N; i++)
forestInfo["forest"].append(forest);
root["forestInfo"] = forestInfo;
/**extra info*/
root["extraInfo"] = "extraInfo";
std::string strJson = root.toStyledString();
std::cout << strJson.c_str() << std::endl;
ofs.write(strJson.c_str(), strlen(strJson.c_str()));
ofs.close();
TEM_DEBUG("end test");
cin.get();
return 0;
}
结果:
{
"extraInfo" : "extraInfo",
"forestInfo" :
{
"forest" :
[
{
"1" : 1,
"2" : 2
},
{
"1" : 1,
"2" : 2
},
{
"1" : 1,
"2" : 2
},
{
"1" : 1,
"2" : 2
},
{
"1" : 1,
"2" : 2
}
],
"forestCount" : 5
},
"totalCountry" :
{
"country" :
[
{
"countryForest" :
{
"1" : "countryForest",
"2" : "countryForest"
},
"countryInfo" :
{
"1" : "countryInfo",
"2" : "countryInfo"
}
},
{
"countryForest" :
{
"1" : "countryForest",
"2" : "countryForest"
},
"countryInfo" :
{
"1" : "countryInfo",
"2" : "countryInfo"
}
},
{
"countryForest" :
{
"1" : "countryForest",
"2" : "countryForest"
},
"countryInfo" :
{
"1" : "countryInfo",
"2" : "countryInfo"
}
},
{
"countryForest" :
{
"1" : "countryForest",
"2" : "countryForest"
},
"countryInfo" :
{
"1" : "countryInfo",
"2" : "countryInfo"
}
},
{
"countryForest" :
{
"1" : "countryForest",
"2" : "countryForest"
},
"countryInfo" :
{
"1" : "countryInfo",
"2" : "countryInfo"
}
}
],
"countryCount" : 5
}
}