迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > C++ >

用 C++ 读取 JSON 文件

作者:迹忆客 最近更新:2023/08/25 浏览次数:

本文将解释创建 JSON 文件,然后在编译器中从该文件读取数据的概念。 我们将使用 C++ 语言和 jsoncpp 库。

本文使用Linux操作系统来完成上述任务。 不过,也可以在 Windows 操作系统上的 C++ 编译器中完成。

我们必须安装读取 JSON 文件所需的库。 我们将了解如何在虚拟机上安装 Linux,然后安装必要的库来执行我们的程序。

我们必须在代码片段中包含以下库来读取 JSON 文件。

#include<iostream>  // This library defines standard input/ output objects
#include<jsoncpp/json/value.h> //This library is used for interacting with JSON file
#include<jsoncpp/json/json.h>
#include<fstream>    // This library is used for reading and writing data to the files
#include<string>     // This library is used to store text

JSON 文件

JSON 代表 JavaScript 对象表示法。 JSON 用于存储和交换数据。

它与 JavaScript 无关。 JSON 是客户端和服务器计算机之间用于发送和接收数据的数据格式。

我们在 JSON 中有不同的对象。 键及其值对包含在花括号中。

JSON 是一种轻量级数据格式。 JSON 不支持注释和命名空间。

JSON 的格式如下。

var person={"firstname":"Ali","Lastname":"Ahmad"};

JSON 中允许有六种数据类型。

  1. String
  2. Number
  3. Boolean
  4. Array
  5. Object
  6. Null
{
 "name": "ali",
 "age" : 30,
 "married": false,
 "kids" : ,
 "hobbies": ["music","sports"],
 "vehicle":{
 {"type": "car", "vname": "swift"},
 {"type": "bike", "vname": "honda"}
}
};

第一个是 String,第二个是 Number,第三个是 Boolean,第四个是 Null,第五个是 Array,第六个是 Object。 这是人类可读的格式。

从 JSON 文件读取数据 首先,我们必须按照以下步骤在 Windows 上下载并安装 Ubuntu。 通过 Virtual Box 在计算机上安装 Ubuntu 的步骤。

安装 Ubuntu 后,我们将看到这个屏幕。

ubuntu主页

我们必须通过单击具有九个点的图标来搜索终端。 然后会出现一个搜索栏,我们必须在该屏幕上输入terminal。

终端屏幕

然后,在获得此终端后,我们首先必须通过键入以下命令来安装编译器。

sudo apt install gcc

此后,您必须输入登录密码并输入 Y(表示“是”)才能安装软件包。

安装完成后,我们必须在 dev 中安装 JSON 库。

sudo apt install libjson-cpp-dev

安装这个 JSON 库后,我们必须打开文本编辑器并在 JSON 文件中写入以下代码。

{
    "Name":"Alice",
    "Dob" : "17th october 2022",
    "College" : "Kips"
}

JSON file

下面的代码片段将解释如何用C++读取JSON文件。

#include<iostream>
#include<jsoncpp/json/value.h>
#include<jsoncpp/json/json.h>
#include<fstream>
#include<string>
using namespace std;

int main() {

    //Using fstream to get the file pointer in file
    ifstream file("file.json");
    Json::Value actualJson;
    Json::Reader reader;

    //Using the reader, we are parsing the json file
    reader.parse(file, actualJson);

    // The actual json has the json data
    cout<< "Total json data:\n"<<actualJson << endl;

    //accessing individual parameters from the file
    cout<<"Name:"<< actualJson["Name"] <<endl;
    cout<<"Dob:"<< actualJson["Dob"]<< endl;
    cout<<"College:"<<actualJson["College"]<<endl;

    return 0;
}

首先,该代码包括输入/输出函数库、从文件中读取数据以及读取字符。 然后 JSON.h 是您访问所有函数所需的标头。

然后我们使用fstream来获取文件中的文件指针。 打开JSON文件后,我们使用Reader函数解析文件以读取文件内容。

然后使用C++中的输出函数将JSON文件中的所有数据显示在屏幕上。 然后我们从 JSON 文件中访问各个参数的值并将其显示在屏幕上。

上面的代码用于从JSON文件中读取数据。 写完上面的代码后,我们必须使用命令来编译并执行它。

g++ test.cpp -ljsoncpp
./a.out

输出:

Read Data From JSON File

上一篇:C++ 中的 Base 64 编码实现

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

C++ 中的 Base 64 编码实现

发布时间:2023/08/25 浏览次数:182 分类:C++

本文将讨论 C++ 中的 base_64 编码。首先,我们将讨论 base_64 编码以及需要它的原因和位置。 稍后,我们将讨论 C++ 中的 base_64 编码/解码。

C++ 中的序列化库

发布时间:2023/08/25 浏览次数:134 分类:C++

在本文中,您将了解不同的 C++ 序列化库。首先,我们将了解序列化及其在 C++ 中的用途。 接下来,我们将讨论 C++ 中的序列化库以及如何在我们的程序中使用它们。

C++ 中的 time(NULL) 函数

发布时间:2023/08/24 浏览次数:162 分类:C++

本文将讨论 C++ 中的 time(NULL) 函数。C++ 中的 time(NULL) 函数 time() 函数,参数为 NULL,time(NULL),

C++类函数声明中的const关键字

发布时间:2023/08/24 浏览次数:136 分类:C++

在C++中,const关键字定义了那些在程序执行期间不会改变并保持不变的值。 对于变量及其保存的数据来说,这听起来非常简单。

C++ 中的 shellExecute() 函数

发布时间:2023/08/24 浏览次数:60 分类:C++

这个小型编程教程将讨论 C++ 中的 ShellExecute() 库函数。 该库函数主要用于通过C++程序打开或执行任何文件(例如脚本文件)。C++ 中的 ShellExecute() 函数

C++ 中默认参数的重新定义

发布时间:2023/08/24 浏览次数:170 分类:C++

在本文中,您将学习如何处理 C++ 中默认参数错误的重新定义。 C++ 中的默认参数必须在方法或函数的声明或定义中指定,但不能同时指定,因为存在重复。

C++ 形式参数的重新定义

发布时间:2023/08/24 浏览次数:133 分类:C++

在本文中,我们将讨论 C++ 中形式参数的重新定义问题。首先,我们将讨论函数定义和形式参数。 接下来,我们将讨论形式参数的重新定义问题。

C++ 工厂方法

发布时间:2023/08/24 浏览次数:78 分类:C++

工厂方法是 C++ 中的一种对象创建设计模式,用于创建对象同时隐藏其组合,以便用户可以使用接口而无需看到任何方法调用。C++ 中的工厂方法 工厂是虚拟构造函数,允许程序员设计让用户与

C++ 调用父方法

发布时间:2023/08/24 浏览次数:132 分类:C++

本文将简要讨论如何在 C++ 中从派生类函数调用父类函数。在C++中调用父类函数 在C++中调用函数就是将控制权转移给函数。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便