溫馨提示×

C++中jason數(shù)據(jù)的序列化方法

c++
小樊
103
2024-09-14 10:29:47
欄目: 編程語言

在 C++ 中,處理 JSON 數(shù)據(jù)的常用庫有 nlohmann/jsonRapidJSON。這里我們以 nlohmann/json 為例,介紹如何進(jìn)行 JSON 數(shù)據(jù)的序列化。

首先,你需要安裝 nlohmann/json 庫。可以通過包管理器(如 vcpkg)或直接從 GitHub 上克隆并安裝。

安裝完成后,在代碼中包含頭文件 nlohmann/json.hpp。

#include<iostream>
#include <fstream>
#include <nlohmann/json.hpp>

using json = nlohmann::json;
using namespace std;

接下來,創(chuàng)建一個(gè) JSON 對象并添加數(shù)據(jù):

int main() {
    // 創(chuàng)建一個(gè) JSON 對象
    json j;

    // 向 JSON 對象中添加數(shù)據(jù)
    j["name"] = "John";
    j["age"] = 30;
    j["isStudent"] = false;
    j["courses"] = {"Math", "Physics", "Computer Science"};

    // 輸出 JSON 對象
    cout << j.dump(4)<< endl;

    return 0;
}

在這個(gè)示例中,我們創(chuàng)建了一個(gè)名為 j 的 JSON 對象,并向其中添加了一些鍵值對。然后使用 dump() 函數(shù)將 JSON 對象轉(zhuǎn)換為格式化的字符串并輸出。dump() 函數(shù)的參數(shù)表示縮進(jìn)的空格數(shù),這里設(shè)置為 4。

運(yùn)行此程序,你將看到以下輸出:

{
    "age": 30,
    "courses": [
        "Math",
        "Physics",
        "Computer Science"
    ],
    "isStudent": false,
    "name": "John"
}

這就是在 C++ 中使用 nlohmann/json 庫進(jìn)行 JSON 數(shù)據(jù)序列化的方法。

0