jsoncpp官方教程_jsoncpp用法

jsoncpp官方教程_jsoncpp用法本文主要介绍使用JsonCpp库,通过C++编程语言实现JSON文件读写操作的具体方法。1写入JSON文件这里编写一个示例程序,该程序将JSON字符串写入到JSON文件中。示例代码(json_file_oper_write.cpp)的内容如下:#include<jsoncpp/json/json.h>#include<fstream>usingnamespacestd;intmain(){Json::Value

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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”文件,过程信息如下:

jsoncpp官方教程_jsoncpp用法

通过上图中的信息能够知道,上述示例程序成功地将 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;
}


编译并运行上述代码,运行结果如下:

jsoncpp官方教程_jsoncpp用法

通过上述运行结果能够看到,示例程序成功地将“test.json”文件中的 JSON 内容解析出来了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183587.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux netstat -an命令,linux 命令之netstat[通俗易懂]

    linux netstat -an命令,linux 命令之netstat[通俗易懂]在linux中netstat命令的作用是查看TCP/IP网络当前所开放端口,所对应的本地和外地端口信息。netstat命令的格式netstat[-a][-e][-n][-o][-pProtocol][-r][-s][Interval]各参数选项的含义a显示所有socket,包括正在监听的。-c每隔1秒就重新显示一遍,直到用户中断它。-i显示所有网络接口的信息,格式“netstat-i”…

    2022年8月30日
    1
  • 操作系统死锁原因及必要条件

    操作系统死锁原因及必要条件

    2021年11月6日
    45
  • lnmp一键安装的卸载

    lnmp一键安装的卸载

    2021年10月8日
    35
  • PR曲线 可算是明白了 precision recall曲线

    PR曲线 可算是明白了 precision recall曲线Inst#是样本序号,图中有20个样本。Class是groundtruth标签,p是positive样本(正例),n当然就是negative(负例)score是我的分类器对于该样本属于正例的可能性的打分。因为一般模型输出的不是0,1的标注,而是小数,相当于置信度。然后设置一个从高到低的阈值y,大于等于阈值y的被我正式标注为正例,小于阈值y的被我正式标注为负例。显然,我设置n个阈值…

    2022年6月16日
    25
  • java删除数组中指定元素_java学习中如何删除数组中的指定元素「建议收藏」

    java删除数组中指定元素_java学习中如何删除数组中的指定元素「建议收藏」java的api中,并没有提供删除数组中元素的方法。虽然数组是一个对象,不过并没有提供add()remove()或查找元素的方法。这就是为什么类似ArrayList和HashSet受欢迎的原因。不过,我们要感谢ApacheCommonsUtils,我们可以使用这个库的ArrayUtils类来轻易的删除数组中的元素。不过有一点需要注意,数组是在大小是固定的,这意味这我们删除元素后,并不会减少数组的…

    2022年8月11日
    8
  • servlet的运行原理_高铁怎么运行的原理

    servlet的运行原理_高铁怎么运行的原理Servlet在容器中的执行过程1.浏览器向服务器发出GET请求2.服务器上的Tomcat接收到该url,根据该url判断为Servlet请求,此时Tomcat将产生两个对象:请求对象(HttpServletRequest)和响应对象(HttpServletResponce)3.Tomcat根据url找到目标Servlet,且创建一个线程4.Tomcat将刚才创建的请求对象和响应对象传递…

    2022年10月1日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号