本文主要介绍使用 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文件读写操作的方法相关推荐

  1. JSON文件读写操作详解

    目录 JSON介绍 JSON基本语法 数据 对象 数组 JSON文件写入 JSON文件读取 JSON介绍 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量 ...

  2. JSON定义及解析,JSON文件读写

    文章目录 JSON 定义 要点 简单的JSON实例 JSON的文档结构 对象 数组 数据类型 值 字符串说明 关于轨道图的嵌套 JSON实例 使用JsonCpp进行JSON文件读写 类图关系 常用接口 ...

  3. (三)C++游戏开发-本地存储-JSON文件读写

    JSON文件读写 简介 相关知识 环境 准备数据 基本步骤 读(ASCLL) 读(UTF-8) 写(ASCLL) 写(UTF-8) 综合案例 简介 这章将讲述JSON文件的读写,使用的解析库是Rapi ...

  4. java大文件读写操作

    转载自:http://blog.csdn.net/akon_vm/article/details/7429245 RandomAccessFile RandomAccessFile是用来访问那些保存数 ...

  5. QT5 文件读写操作

    QFile Class 1.read读文件 加载文件对象  QFile file("文件地址"); 打开加载的文件file.open(打开方式); 操作文件 关闭打开的文件file ...

  6. C++ builder 的文件读写操作总结

    C++ builder 的文件读写操作总结 在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是: 1.基于 ...

  7. unity webgl读写txt文件_python Files文件读写操作

    今天学习python的Files文件读写操作,并记录学习过程欢迎大家一起交流分享. 首先新建一个文本文件test.txt,内容如下: hello worldhello youhello mehello ...

  8. java文件读写操作类

    借鉴了项目以前的文件写入功能,实现了对文件读写操作的封装 仅仅需要在读写方法传入路径即可(可以是绝对或相对路径) 以后使用时,可以在此基础上改进,比如: 写操作: 1,对java GUI中文本框中的内 ...

  9. OpenCV学习笔记(四):XML,YAML(.txt,.doc)文件读写操作

    OpenCV学习笔记(四):XML,YAML(.txt,.doc)文件读写操作 一.Write_XML_and_YAML_File(写入XML) #include <opencv2/opencv ...

  10. Python 文件读写操作-Python零基础入门教程

    目录 一.Python 文件的打开 open 二.Python 文件的关闭 close 三.Python 文件的读取 read 1.read 函数 2.readline 函数 3.readlines ...

最新文章

  1. 学习进度条--第七周
  2. java 虚拟打印机_Java 通过物理、虚拟打印机打印Word文档
  3. 李开复:我在硅谷看到的最前沿科技趋势
  4. Unity 2017 Game Optimization 读书笔记(2)Scripting Strategies Part 2
  5. Oracle中通过游标执行带参数的存储过程实现解析CLOB字段内的xml字符串:
  6. SpringMVC框架使用注解执行定时任务
  7. python递归求13的n次方_Python题目:递归的简单题目,求阶乘,求n-m的累积和,求斐波那契...
  8. 通过hashtable实现dic
  9. sql server 循环_学习SQL:SQL Server循环简介
  10. 转行经验分享,关于软件测试的感悟,你想知道的都在这里……
  11. 昨天写的档,今天就被转盗,51CTO老大们来管管
  12. java+围棋+棋谱回放_聂卫平对战围棋高手Master完整比赛视频回放 全局棋谱复盘...
  13. JAVA 进制转换工具
  14. 【免费】Discuz素材资源交易论坛整站源码/带数据整站源码打包
  15. Ember项目引入js依赖
  16. MyEclipse简介
  17. 往届毕业生档案去向查询网_大学毕业档案怎么处理 毕业生档案去向查询
  18. crash日志学习(初步)
  19. 如何使用windos远程桌面连接
  20. 【卡尔曼滤波介绍与原理解析】

热门文章

  1. 那些年,我爬过的北科(十)——搜索案例之ElasticSearch的使用
  2. JAVA入门到精通-第64讲-sql server备份恢复
  3. AtCoder Grand Contest 025 B - RGB Coloring
  4. 将url参数转为json对象
  5. 深入了解Oracle数据字典升级脚本catupgrd.sql调用过程
  6. putty远程连接以及密钥
  7. 聊聊jQuery is not defined
  8. 第三方侧滑菜单SlidingMenu在android studio中的使用
  9. 页面滚动图片等元素动态加载实现本质
  10. C#.Net 使用 JsonReader/JsonWriter 高性能解析/生成 Json 文档