现在我这样一个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") == )
cout<<"ok"<<endl;
if(root["code2"].asInt() == )
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") == )
cout<<"ok"<<endl;
if(root["code2"].asInt() == )
cout<<"ok2"<<endl;
if(root["code3"].toStyledString().compare("\"\"\n") == )
cout<<"ok3"<<endl;
if(root["code4"].toStyledString().compare("null\n") == )
cout<<"ok4"<<endl;

[原]JSON 字符串(值)做判断,比较 “string ”的更多相关文章

  1. jdk1.8下字符串常量的判断,String.intern()分析

    字符串常量池在jdk升级过程中发生了一些变化 在JDK1.6中,它在方法区中,属于“永久代”. 在JDK1.7中,它被移除方法区,放在java堆中. 在JDK1.8中,取消了“永久代”,将常量池放在元 ...

  2. fastjson 将json字符串转化成List<Map<String, Object>>

    亲测可行,如下: JSON.parseObject(jsonstr, new TypeReference<List<Map<String, Object>>>() ...

  3. JSON取值前判断

    public static void main(String[] args)throws Exception{ String jsonStr1="{\"access_token\& ...

  4. python-json.loads()保持原json字符串的顺序

    import jsonfrom collections import OrderedDictmetadata = json.loads(text, object_pairs_hook=OrderedD ...

  5. 彻底了解构建 JSON 字符串的三种方式

    原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/7701856.html 前言:JSON 是轻量级的数据交换格式,很常用,尤其是在使用 Ajax ...

  6. 【JSON】JSON字符串的操作(不断积累中)

    一.JS遍历JSON串 示例01 目标:返回的JSON串中,一个Key对应的Value是一个数组(若在Java程序中,是一个List). 现在要求获取每个数组中的第一个对象元素中的name属性的值. ...

  7. java解析json字符串详解(两种方法)

    一.使用JSONObject来解析JSON数据官方提供的,所以不需要导入第三方jar包:直接上代码,如下 private void parseJSONWithJSONObject(String Jso ...

  8. JSON字符串解析

    有时保存在数据库的数据是一串json字符串,需要进行读取的时候就需要解析操作. 简单介绍两种: 1.net.sf.json.* 2.com.alibaba.fastjson.* 需要的包自行下载. 第 ...

  9. C#基础---C#如何对Json字符串处理

    Json字符串对于做web应用的应该很熟悉,其实在很多请求我们返回的都是Json字符串.那对于C#代码如何处理Json字符串呢,.Net封装了一个类叫做JavaScriptSerializer[MSD ...

随机推荐

  1. Java开发环境之Gradle

    查看更多Java开发环境配置,请点击<Java开发环境配置大全> 拾伍章:Gradle安装教程 1)下载Gradle安装包 官网下载:https://gradle.org/releases ...

  2. mysql数据库SQL执行分析,优化前必备分析

    概述 一般我们在对mysql数据库做优化,肯定需要对慢sql去做分析才能开始优化,那么有什么分析的方法呢?下面通过对sql执行时间和执行情况来做分析. 一.SQL 执行时间分析 通过找到执行时间长的 ...

  3. Android PKMS服务

    它的作用? 关于PKMS的全称是啥应该咱们不陌生,PackageManagerService,和AMS一样是Android系统的核心服务,它主要负责系统中Package的管理,应用程序的安装.卸载.信 ...

  4. BZOJ5509: [Tjoi2019]甲苯先生的滚榜

    题解 开n个平衡树对每个AC数维护罚时,然后不同AC数用树状数组维护即可. 其实挺好写的...就是评测的时候评的巨久... #include <bits/stdc++.h> using n ...

  5. KVM管理工具

    Ovirt:功能强大,RHEV的开源版本 WebVirtMgr:virt-manager的WEB模式的替代品 ConVirt:分为开源版.商业版 Openstack:开源框架,复杂程度较高

  6. For 32-bit BOOL is a signed char, whereas under 64-bit it is a bool.

    https://stackoverflow.com/questions/31267325/bool-with-64-bit-on-ios/31270249#31270249 Definition of ...

  7. jquery 获取 新添加元素 点击后 的子元素

    $("body").on("click", '.tabletr1', (event) => { debugger var ID2 = $(event.ta ...

  8. (尚028)Vue_案例_交互删除

    删除一条;1.鼠标移入移除这一条时颜色有变化 2.删除当前的todo ================================================================= ...

  9. Numpy | 11 迭代数组

    NumPy 迭代器对象 numpy.nditer 提供了一种灵活访问一个或者多个数组元素的方式. 迭代器最基本的任务的可以完成对数组元素的访问. 实例1:使用 arange() 函数创建一个 2x3 ...

  10. c# 如何进行动态加载dll

    最近遇到了在c#中如何进行动态加载dll的话,搞定了,下面介绍一下自己的步骤. 1,新建dll. 打开vs,新建project->Class Library->项目名为testdll1.在 ...