jsoncpp报错Use CharReader and CharReaderBuilder instead的解决办法

930次阅读

jsoncpp报错

: error C4996: 'Json::Reader::Reader': Use CharReader and CharReaderBuilder instead
 : 参见“Json::Reader::Reader”的声明

jsoncpp报错Use

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;
 
yiywain
版权声明:本站原创文章,由 yiywain 2021-09-27发表,共计706字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。