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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 解决Unable to connect to Redis server: 192.168.110.1/192.168.110.1:6379[通俗易懂]

    解决Unable to connect to Redis server: 192.168.110.1/192.168.110.1:6379[通俗易懂]出现场景:springboot整合redis,启动项目时出现原因:redis的一系列配置不正确解决方案:首先在window安装redis,找到安装目录下的redis.windows.confredis.windows-service.conf1)修改protected-modeyes改为:protected-modeno2)注释掉#bin127.0.0.13…

    2022年6月5日
    275
  • 清风数学建模学习笔记——层次分析法(AHP)

    清风数学建模学习笔记——层次分析法(AHP)层次分析法  层次分析法(analytichierarchyprocess),简称AHP。是建模比赛中比较基础的模型之一,其主要解决评价类的问题。如选择哪种方案最好,哪位员工表现最好等)。  它是一个较为主观的评价方法,其在赋权得到权重向量的时候,主观因素占比很大。因而在建模比赛中,常常与客观方法得到的权重向量方法进行综合,而得出一个综合的权重向量,进行后续操作。一、模型介绍  …

    2022年9月23日
    2
  • ETL开发命名规范

    ETL开发命名规范命名规范1、模块名缩写、表面缩写2、一次性初始化的表:[库名].表名_INIT

    2022年5月18日
    33
  • 使用GTalk服务

    使用GTalk服务Normal07.8磅02falsefalsefalseEN-USZH-CNX-NONEMicrosoftInternetExplorer4在你访问GTalk服务之前,你需要

    2022年7月2日
    24
  • PHP+644是什么,多多自走棋644什么意思

    PHP+644是什么,多多自走棋644什么意思本次给大家带来的是多多自走棋的644相关介绍,很多玩家都不清楚644是什么,这里给大家进行解释,并且会介绍644阵容是什么,应该怎么应对,希望能帮助到各位感兴趣的玩家~多多自走棋644是什么什么是644新版本小伙伴们说的最多的就是644,这套阵容如何无敌,如何变态,如何无解等等。要如何针对与反制644就要先从了解他开始,644就是由6洞洞+4冰川+4萨满三个羁绊效果组合而成。从羁绊拼凑可…

    2022年6月22日
    34
  • 【智能制造】同济大学张曙教授:未来工厂;三论智能制造(经典长篇解读)

    【智能制造】同济大学张曙教授:未来工厂;三论智能制造(经典长篇解读)三论智能制造(经典长篇解读)周宏仁 知识自动化知识自动化中国这几年信息化的发展已经出现很多概念和热点,从云计算到物联网,智慧城市到大数据,到现在的人工智能这一波热浪。这些热浪一定要落地下来,为制造业服务。对于中国人工智能的发展而言,最重要的问题还是要解决中国的制造业发展问题。如果制造业的智能化上不去,中国国民经济的脊梁就不够坚实。论智能制造发展的三个阶段首先需要理解,什么是智能制造?按照百科定义,

    2022年7月25日
    5

发表回复

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

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