现在我这样一个json字符串:
char* cjson = "{"code": "200", "code2": 200}"; Json::Value root; Json::Reader Jreader; Jreader.parse(cjson ,root);
这个字符串的code:“200” code2:200
现在出现一个问题,我要使用这个code值做判断
比如我要判断code是否等于“200”
期间遇到很多问题,最后终于试出两种code的判断方式:
if(root["code"].toStyledString().compare(""200" ") == 0) cout<<"ok"<<endl; if(root["code2"].asInt() == 200) cout<<"ok2"<<endl;
第二个的code2的判断是常规方法
而第一个的code,没想到 除了两个双引号(“”)要加,还需要加一个回车符做判断( )
这个就是jsoncpp库的问题吧
ops!又加了两种进行比较:
char* cjson = "{"code": "200", "code2": 200, "code3": "", "code4": }"; Json::Value root; Json::Reader Jreader; Jreader.parse(cjson ,root); if(root["code"].toStyledString().compare(""200" ") == 0) cout<<"ok"<<endl; if(root["code2"].asInt() == 200) cout<<"ok2"<<endl; if(root["code3"].toStyledString().compare(""" ") == 0) cout<<"ok3"<<endl; if(root["code4"].toStyledString().compare("null ") == 0) cout<<"ok4"<<endl;