在 C++ 中,處理 JSON 數(shù)據(jù)的常用庫有 nlohmann/json 和 RapidJSON。這里我們以 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ù)序列化的方法。