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에는 다른 개체가 있습니다. 와 해당 의 쌍은 중괄호로 묶여 있습니다.

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"}
}
};

첫 번째는 String, 두 번째는 Number, 세 번째는 Boolean, 네 번째는 Null, 다섯 번째는 Array, 여섯 번째는 Object입니다. 사람이 읽을 수 있는 형식입니다.

JSON 파일에서 데이터 읽기

먼저 다음 단계에 따라 Windows에 Ubuntu를 다운로드하고 설치해야 합니다. Virtual Box로 시스템에 Ubuntu를 설치하는 단계.

우분투를 설치하면 이런 화면이 나옵니다.

우분투 메인 페이지

9개의 점이 있는 아이콘을 클릭하여 터미널을 검색해야 합니다. 그런 다음 검색 표시줄이 나타나고 해당 화면에 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 파일

다음 코드 스니펫은 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 기능을 사용하여 파일 내용을 읽기 위해 파일을 구문 분석했습니다.

그러면 JSON 파일의 모든 데이터가 C++의 출력 기능을 사용하여 화면에 표시됩니다. 그런 다음 JSON 파일에서 개별 매개변수 값에 액세스하여 화면에 표시했습니다.

위의 코드는 JSON 파일에서 데이터를 읽는 데 사용됩니다. 위의 코드를 작성한 후 command를 사용하여 컴파일하고 실행해야 합니다.

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

출력:

JSON 파일에서 데이터 읽기