主要参考这篇:https://zhuanlan.zhihu.com/p/38105192
1、https://github.com/open-source-parsers/jsoncpp下载源码
2、跑里面的amalgamate.py文件,我这里是在anaconda的环境下跑的
3、将dist文件夹下的源码考出来放在新建vs工程就能用了,read的时候出现了问题
换成下面read的写法
void saveJson()
{
std::string filePath = "\\innerparam.json";
std::ofstream fout;
fout.open(filePath, ios::binary);
assert(fout.is_open());
Json::Value root;
root["name"] = 0;
std::string out = root.toStyledString();
fout << out;
cout << out << endl;
}
void readJson()
{
Json::CharReaderBuilder r;
Json::CharReader* reader = r.newCharReader();
Json::Value root;
std::ifstream in("d.json", ios::binary);
if (!in.is_open())
{
std::cout << "err\n";
return;
}
string a;
stringstream ss;
ss << in.rdbuf();
a = ss.str();
JSONCPP_STRING errs;
if (reader->parse(a.c_str(), a.c_str()+a.size(), &root, &errs))
{
double fx = root["FocalLengthX"].asDouble();
double fy = root["TangentialDistortionP1"].asDouble();
std::cout << fx << std::endl;
}
}