大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
本文主要介绍使用 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 内容解析出来了。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/183587.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...