码迷,mamicode.com
首页 > Web开发 > 详细

[原]JSON 字符串(值)做判断,比较 “string ”

时间:2019-09-12 00:02:44      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:问题   ops   value   判断   null   双引号   nbsp   string   引号   

现在我这样一个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\"\n") == 0)
        cout<<"ok"<<endl;
    if(root["code2"].asInt() == 200)
        cout<<"ok2"<<endl;

第二个的code2的判断是常规方法

而第一个的code,没想到 除了两个双引号(“”)要加,还需要加一个回车符做判断(\n)

这个就是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\"\n") == 0)
        cout<<"ok"<<endl;
    if(root["code2"].asInt() == 200)
        cout<<"ok2"<<endl;
    if(root["code3"].toStyledString().compare("\"\"\n") == 0)
        cout<<"ok3"<<endl;
    if(root["code4"].toStyledString().compare("null\n") == 0)
        cout<<"ok4"<<endl;

 

[原]JSON 字符串(值)做判断,比较 “string ”

标签:问题   ops   value   判断   null   双引号   nbsp   string   引号   

原文地址:https://www.cnblogs.com/lyggqm/p/11509334.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!