error C4996: ‘Json::Reader::Char’: Use CharReader and CharReaderBuilder instead

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;
  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值