C++ で JSON ファイルを読み取る

Atika Islam 2023年10月12日
  1. JSON ファイル
  2. JSON ファイルからデータを読み取る
C++ で JSON ファイルを読み取る

このチュートリアルでは、JSON ファイルを作成し、コンパイラでそのファイルからデータを読み取るという概念について説明します。 C++ 言語と jsoncpp ライブラリを使用します。

この記事では、Linux オペレーティング システムを使用して上記のタスクを実行します。 ただし、C++ コンパイラの Windows オペレーティング システムでも実行できます。

JSON ファイルを読み取るために必要なライブラリをインストールする必要があります。 仮想マシンに Linux をインストールし、プログラムを実行するために必要なライブラリをインストールする方法を説明します。

JSON ファイルを読み取るために、コード スニペットに次のライブラリを含める必要があります。

#include <jsoncpp/json/json.h>
#include <jsoncpp/json/value.h>  //This library is used for interacting with JSON file

#include <fstream>  // This library is used for reading and writing data to the files
#include <iostream>  // This library defines standard input/ output objects
#include <string>    // This library is used to store text

JSON ファイル

JSONはJavaScript Object Notationの略です。 JSON は、データの保存と交換に使用されます。

JavaScript とは関係ありません。 JSON は、クライアントとサーバー コンピューター間でデータを送受信するために使用されるデータ形式です。

JSON にはさまざまなオブジェクトがあります。 keys とその values のペアは中括弧で囲みます。

JSON は軽量のデータ形式です。 JSON は commentsnamespaces をサポートしていません。

JSONのフォーマットは以下です。

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

JSON では 6つのデータ型を使用できます。

  1. ストリング
  2. 番号
  3. ブール値
  4. 配列
  5. オブジェクト
  6. ヌル
{
 "name": "ali",
 "age" : 30,
 "married": false,
 "kids" : ,
 "hobbies": ["music","sports"],
 "vehicle":{
 {"type": "car", "vname": "swift"},
 {"type": "bike", "vname": "honda"}
}
};

1 番目は String、2 番目は Number、3 番目は Boolean、4 番目は Null、5 番目は Array、6 番目は Object です。 これは人間が読める形式です。

JSON ファイルからデータを読み取る

まず、次の手順に従って、Windows に Ubuntu をダウンロードしてインストールする必要があります。 Virtual Box で Ubuntu をマシンにインストールする手順.

Ubuntuをインストールすると、この画面が表示されます。

ubuntuメインページ

9つのドットがあるアイコンをクリックして端末を検索する必要があります。 検索バーが表示されるので、その画面でターミナルと入力する必要があります。

端末画面

次に、このターミナルを取得したら、まず次のコマンドを入力してコンパイラをインストールする必要があります。

sudo apt install gcc

この後、パッケージをインストールするには、ログイン パスワードを入力し、Yes の場合は Y を指定する必要があります。

このインストールの後、dev に JSON 用のライブラリをインストールする必要があります。

sudo apt install libjson-cpp-dev

この JSON ライブラリをインストールしたら、Text Editor を開いて、JSON ファイルに次のコードを書き込む必要があります。

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

JSONファイル

次のコード スニペットは、C++ で JSON ファイルを読み取る方法を説明します。

#include <jsoncpp/json/json.h>
#include <jsoncpp/json/value.h>

#include <fstream>
#include <iostream>
#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

出力:

JSON ファイルからデータを読み込む