使用JsonCpp实现JSON文件读写操作的方法
本文主要介绍使用 JsonCpp 库,通过 C++ 编程语言实现 JSON 文件读写操作的具体方法。
1 写入JSON文件
这里编写一个示例程序,该程序将 JSON 字符串写入到 JSON 文件中。
示例代码(json_file_oper_write.cpp)的内容如下:
#include <jsoncpp/json/json.h>
#include <fstream>using namespace std;int main()
{Json::Value root;// 组装json内容root["occupation"] = "paladin";root["camp"] = "alliance";root["role_id"] = 1;// 将json内容(缩进格式)输出到文件Json::StyledWriter writer;ofstream os;os.open("test.json");os << writer.write(root);os.close();return 0;
}
编译并执行上述代码,可以在当前目录下看到创建的“test.json”文件,过程信息如下:
通过上图中的信息能够知道,上述示例程序成功地将 JSON 字符串写入到“test.json”文件中了。
2 读取JSON文件
这里编写一个示例程序,该程序会读取前面创建的“test.json”文件,并将该文件中的 JSON 内容解析出来。
示例代码(json_file_oper_read.cpp)的内容如下:
#include <jsoncpp/json/json.h>
#include <iostream>
#include <fstream>
#include <string>using namespace std;int main()
{// 以二进制形式读取json文件内容ifstream is("test.json", ios::binary);if (!is.is_open()){cout << "open json file failed." << endl;return -1;}Json::Reader reader;Json::Value root;int nRole = 0;string strOccupation;string strCamp;// 解析json内容if (reader.parse(is, root)){nRole = root["role_id"].asInt();strOccupation = root["occupation"].asString();strCamp = root["camp"].asString();}is.close();cout << "role_id is: " << nRole << endl;cout << "occupation is: " << strOccupation << endl;cout << "camp is: " << strCamp << endl;return 0;
}
编译并运行上述代码,运行结果如下:
通过上述运行结果能够看到,示例程序成功地将“test.json”文件中的 JSON 内容解析出来了。
使用JsonCpp实现JSON文件读写操作的方法相关推荐
- JSON文件读写操作详解
目录 JSON介绍 JSON基本语法 数据 对象 数组 JSON文件写入 JSON文件读取 JSON介绍 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量 ...
- JSON定义及解析,JSON文件读写
文章目录 JSON 定义 要点 简单的JSON实例 JSON的文档结构 对象 数组 数据类型 值 字符串说明 关于轨道图的嵌套 JSON实例 使用JsonCpp进行JSON文件读写 类图关系 常用接口 ...
- (三)C++游戏开发-本地存储-JSON文件读写
JSON文件读写 简介 相关知识 环境 准备数据 基本步骤 读(ASCLL) 读(UTF-8) 写(ASCLL) 写(UTF-8) 综合案例 简介 这章将讲述JSON文件的读写,使用的解析库是Rapi ...
- java大文件读写操作
转载自:http://blog.csdn.net/akon_vm/article/details/7429245 RandomAccessFile RandomAccessFile是用来访问那些保存数 ...
- QT5 文件读写操作
QFile Class 1.read读文件 加载文件对象 QFile file("文件地址"); 打开加载的文件file.open(打开方式); 操作文件 关闭打开的文件file ...
- C++ builder 的文件读写操作总结
C++ builder 的文件读写操作总结 在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是: 1.基于 ...
- unity webgl读写txt文件_python Files文件读写操作
今天学习python的Files文件读写操作,并记录学习过程欢迎大家一起交流分享. 首先新建一个文本文件test.txt,内容如下: hello worldhello youhello mehello ...
- java文件读写操作类
借鉴了项目以前的文件写入功能,实现了对文件读写操作的封装 仅仅需要在读写方法传入路径即可(可以是绝对或相对路径) 以后使用时,可以在此基础上改进,比如: 写操作: 1,对java GUI中文本框中的内 ...
- OpenCV学习笔记(四):XML,YAML(.txt,.doc)文件读写操作
OpenCV学习笔记(四):XML,YAML(.txt,.doc)文件读写操作 一.Write_XML_and_YAML_File(写入XML) #include <opencv2/opencv ...
- Python 文件读写操作-Python零基础入门教程
目录 一.Python 文件的打开 open 二.Python 文件的关闭 close 三.Python 文件的读取 read 1.read 函数 2.readline 函数 3.readlines ...
最新文章
- 学习进度条--第七周
- java 虚拟打印机_Java 通过物理、虚拟打印机打印Word文档
- 李开复:我在硅谷看到的最前沿科技趋势
- Unity 2017 Game Optimization 读书笔记(2)Scripting Strategies Part 2
- Oracle中通过游标执行带参数的存储过程实现解析CLOB字段内的xml字符串:
- SpringMVC框架使用注解执行定时任务
- python递归求13的n次方_Python题目:递归的简单题目,求阶乘,求n-m的累积和,求斐波那契...
- 通过hashtable实现dic
- sql server 循环_学习SQL:SQL Server循环简介
- 转行经验分享,关于软件测试的感悟,你想知道的都在这里……
- 昨天写的档,今天就被转盗,51CTO老大们来管管
- java+围棋+棋谱回放_聂卫平对战围棋高手Master完整比赛视频回放 全局棋谱复盘...
- JAVA 进制转换工具
- 【免费】Discuz素材资源交易论坛整站源码/带数据整站源码打包
- Ember项目引入js依赖
- MyEclipse简介
- 往届毕业生档案去向查询网_大学毕业档案怎么处理 毕业生档案去向查询
- crash日志学习(初步)
- 如何使用windos远程桌面连接
- 【卡尔曼滤波介绍与原理解析】
热门文章
- 那些年,我爬过的北科(十)——搜索案例之ElasticSearch的使用
- JAVA入门到精通-第64讲-sql server备份恢复
- AtCoder Grand Contest 025 B - RGB Coloring
- 将url参数转为json对象
- 深入了解Oracle数据字典升级脚本catupgrd.sql调用过程
- putty远程连接以及密钥
- 聊聊jQuery is not defined
- 第三方侧滑菜单SlidingMenu在android studio中的使用
- 页面滚动图片等元素动态加载实现本质
- C#.Net 使用 JsonReader/JsonWriter 高性能解析/生成 Json 文档