1、编译下面代码时,遇到标题中的错误
const char* str = "{\"name\":\"xiaoming\",\"age\":18}"; ?????Json::Value root; ?????Json::Reader reader; ?????if (!reader.parse(str, root)) ?????{ ?????????cout << "Parse from str failed\n"; ?????????return; ?????} ???????????string name = root["name"].asCString(); ?????int age = root["age"].asInt(); ?????std::cout << "name: " << name << " ?age:" << age; ?
2、解决方法,根据提示修改代码,如下:
???Json::CharReaderBuilder b; ???Json::CharReader* reader(b.newCharReader()); ???Json::Value root; ???JSONCPP_STRING errs; ???bool ok = reader->parse(str, str + std::strlen(str), &root, &errs); ???if (ok&&errs.size() == 0) ???{ ???????std::string upload_id = root["uploadid"].asString(); ?// 访问节点,upload_id = "UP000000" ?????????int code = root["code"].asInt(); ???// 访问节点,code = 100 ?????} ???delete reader;
error C4996: ‘Json::Reader::Char’: Use CharReader and CharReaderBuilder instead
原文地址:http://www.cnblogs.com/happykoukou/p/7987268.html