中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++序列化庫與JSON格式轉換

發布時間:2024-09-19 11:24:43 來源:億速云 閱讀:119 作者:小樊 欄目:編程語言

在C++中,有多種庫可以用于序列化和處理JSON格式的數據

  1. nlohmann/json:這是一個非常流行且易于使用的C++ JSON庫。它提供了簡單的API來解析、生成和操作JSON數據。GitHub地址:https://github.com/nlohmann/json

示例代碼:

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

using json = nlohmann::json;

int main() {
    // 創建一個JSON對象
    json j = {
        {"name", "John"},
        {"age", 30},
        {"is_student", false}
    };

    // 將JSON對象轉換為字符串
    std::string json_str = j.dump();
    std::cout << "JSON string: " << json_str << std::endl;

    // 從字符串解析JSON對象
    json parsed_json = json::parse(json_str);
    std::cout << "Parsed name: " << parsed_json["name"] << std::endl;
    std::cout << "Parsed age: " << parsed_json["age"] << std::endl;
    std::cout << "Parsed is_student: " << parsed_json["is_student"] << std::endl;

    return 0;
}
  1. RapidJSON:這是一個高性能的C++ JSON庫,具有低內存開銷和快速的解析速度。GitHub地址:https://github.com/Tencent/rapidjson

示例代碼:

#include <iostream>
#include <rapidjson/document.h>
#include <rapidjson/writer.h>
#include <rapidjson/stringbuffer.h>

using namespace rapidjson;

int main() {
    // 創建一個JSON對象
    Document d;
    d.SetObject();
    d.AddMember("name", "John", d.GetAllocator());
    d.AddMember("age", 30, d.GetAllocator());
    d.AddMember("is_student", false, d.GetAllocator());

    // 將JSON對象轉換為字符串
    StringBuffer buffer;
    Writer<StringBuffer> writer(buffer);
    d.Accept(writer);
    std::string json_str = buffer.GetString();
    std::cout << "JSON string: " << json_str << std::endl;

    // 從字符串解析JSON對象
    Document parsed_json;
    parsed_json.Parse(json_str.c_str());
    std::cout << "Parsed name: " << parsed_json["name"].GetString() << std::endl;
    std::cout << "Parsed age: " << parsed_json["age"].GetInt() << std::endl;
    std::cout << "Parsed is_student: " << (parsed_json["is_student"].GetBool() ? "true" : "false") << std::endl;

    return 0;
}

這些庫都提供了詳細的文檔和示例,可以幫助您快速上手并在項目中使用它們。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

深泽县| 吴川市| 石阡县| 汝南县| 台东县| 左云县| 安宁市| 宜黄县| 区。| 汝南县| 永春县| 紫云| 广元市| 武乡县| 阳东县| 青龙| 黄浦区| 康马县| 平乡县| 广宗县| 广州市| 洞口县| 宜宾县| 蒙自县| 临夏县| 砚山县| 胶南市| 铜山县| 家居| 民勤县| 富源县| 吉首市| 长岛县| 临城县| 阳东县| 应用必备| 从江县| 如皋市| 城固县| 井陉县| 北海市|