JsonCpp常见用法
本文主要介绍 JsonCpp 的常见用法。
1 概述
引用 GitHub 上对 JSON 和 JsonCpp 的介绍,内容如下:
JSON is a lightweight data-interchange format. It can represent numbers, strings, ordered sequences of values, and collections of name/value pairs.
JsonCpp is a C++ library that allows manipulating JSON values, including serialization and deserialization to and from strings. It can also preserve existing comment in unserialization/serialization steps, making it a convenient format to store user input files.
2 常见用法
2.1 判断value为null
可以使用 JsonCpp 的 isNull() 函数,判断 json 的 value 是否为空。
isNull() 函数信息如下:
bool Json::Value::isNull () const
示例代码(json_check_null.cpp)的内容如下:
#include <iostream>
#include <string>
#include <jsoncpp/json/json.h>using namespace std;int main()
{Json::Value root;string strJsonMsg;// 字符串类型root["occupation"] = "paladin";// 布尔类型root["valid"] = true;// 数字类型root["role_id"] = 1;string strBuffer = root["someone"].asString();;if (root["someone"].isNull()){cout << "someone is null!" << endl;}if (root["sometwo"].isNull()){cout << "sometwo is null!" << endl;}// 将json转换为string类型strJsonMsg = root.toStyledString();cout<< "strJsonMsg is: " << strJsonMsg << endl;return 0;
}
编译并执行上述代码,结果如下:
根据上面的执行结果,可知:
- 使用 isNull() 函数可以判断 json 的 value 是否为 null;
- 对于 json 某个字段来说,只要是在代码中使用过,在封装 json 时,都会被封装到 json 内容中。比如本例中的 root["someone"] 和 root["sometwo"],代码中并未对两者进行赋值,但是只要有使用过这两者,那么它们就会被封装到 json 中。
JsonCpp常见用法相关推荐
- mysql中正则表达式的用法_Mysql中正则表达式Regexp常见用法
Mysql中Regexp常见用法 模糊匹配,包含特定字符串 # 查找content字段中包含"车友俱乐部"的记录 select * from club_content where ...
- python六:常见数据类型以及常见用法
bool 布尔值 # 在bool中 0,()(空元祖),[](空列表),{}(空字典),None,""(空字符串) 都是False int 整形 float 浮点型 str 字符串 ...
- vue-router 的常见用法
vue-router 的常见用法 1. 路由重定向 路由重定向指的是:用户在访问地址 A 的时候,强制用户跳转到地址 C ,从而展示特定的组件页面. 通过路由规则的 redirect 属性,指定一个新 ...
- 空的宏定义作用及常见用法
空的宏定义作用及常见用法 我们学习宏定义的第一个概念是,宏定义作为替换作用. 例如: #define SIZE 32 // 接下来代码使用SIZE就相当于32 宏定义是编译器在编译时,将程序中所有SI ...
- Arrays常见用法
Arrays常见用法
- sed文本处理常见用法
sed文本处理常见用法 2011-06-24 TsengYia#126.com http://tsengyia.blog.chinaunix.net/ ################## ...
- typeset的常见用法
[保留] typeset的常见用法 http://www.chinaunix.net 作者:寂寞烈火 发表于:2007-12-16 09:50:34 [发表评论] [查看原文] [Shell讨论区] ...
- 框架前期准备篇之AutoFac常见用法总结 转载
框架前期准备篇之AutoFac常见用法总结 一. 说在前面的话 凡是大约工作在两年以上的朋友们,或多或少都会接触到一些框架搭建方面的知识,只要一谈到框架搭建这个问题或者最佳用法这个问题,势必会引起一点 ...
- Java集合Collection与List的关系、常见用法
关系树 [java] view plain copy print? ---|Collection: 单列集合 ---|List: 有存储顺序, 可重复 ---|ArrayList: 数组实现, 查找快 ...
- sscanf的常见用法
例子: 1. 常见用法. char buf[512] = ; sscanf("123456 ", "%s", buf); printf("%s ...
最新文章
- C面向对象之透明指针的运用
- 第三百三十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—深度优先与广度优先原理...
- 树莓派发行版apt-get彻底卸载软件包
- 打造实用的Fedora 10
- 实现mysql按月统计的教程
- Java中main函数只能调用同类中的静态方法?
- MyBatis框架:延迟加载策策略、一级缓存、二级缓存
- EOS 帐户权限操作--你找不到的干货 (原创) 续集-EOS 3.0
- Swift5之网易云音乐页面搭建
- NYOJ 27 大数阶乘
- Python通过Zabbix API获得数据
- bzoj1296 [SCOI2009]粉刷匠 区间dp+背包
- 插入公式_word2016编写文档 插入公式选项为暗,不能操作
- thinkphp5.0验证码使用
- Hadoop系列之OutputCollector
- 没事爱在线上制造故障?这位程序媛有话说
- 【浙江大学PAT真题练习乙级】1002 写出这个数(20分) 真题解析
- java stream流处理
- 外贸公司比较常用邮箱有哪几个?邮箱的区别是什么?
- CAD中一个图形的多种画法