色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 類轉json字符串

林玟書1年前8瀏覽0評論

將C++中的類轉化為JSON格式的字符串目前已經成為了一個常見的需求。一些庫,例如JSON for Modern C++,RapidJSON 等,提供了簡單易用的接口實現該功能。

// 使用 JSON for Modern C++ 將類轉化為 JSON 字符串
#include "json.hpp"
using json = nlohmann::json;
class Person {
public:
std::string name;
int age;
Person(const std::string& name, int age) :name(name), age(age) {}
json toJson() {
json j;
j["name"] = name;
j["age"] = age;
return j;
}
};
int main() {
Person p("Tom", 20);
json j = p.toJson();
std::string strJson = j.dump(); // 轉化為字符串
return 0;
}

以上代碼將一個名為 Person 的類轉化為 JSON 字符串。首先,我們需要定義一個 toJson 函數,該函數將類成員轉化為 JSON 的鍵值對。json 對象簡單易用,使用 [] 運算符,只需要為指定鍵名賦值即可。

轉化為字符串的功能可以使用 nlohmann::json 中提供的 dump() 函數實現。

除了 JSON for Modern C++ 這樣的第三方庫,C++11 以及之后的版本提供了 STL 中的 std::to_string 函數,可以實現基本數據類型和字符串的轉化。

// 使用 std::to_string 實現基本數據類型和字符串轉化
#include#include#include#includeint main() {
int n = 42;
std::string strInt = std::to_string(n); // 轉int為string
double d = 3.14159;
std::string strDouble = std::to_string(d); // 轉double為string
std::string str = "This is a string";
std::vector<char> vec(str.begin(), str.end());
std::string strVec(vec.begin(), vec.end()); // 轉vector為string
return 0;
}

此代碼演示了基本數據類型和字符串之間的相互轉化,也演示了 vector 轉化為字符串的方法。需要注意的是,在進行 vector 和 string 之間的轉化時,需要將 vector 轉化為 char 數組。

以上就是關于在 C++ 中將類轉化為 JSON 字符串的內容。我們可以看到,現在已經有許多現成的庫可以使用,也可以使用 STL 提供的方法進行實現。當然,為了保證代碼的可維護性,我們還是推薦使用現有的開源庫進行開發。

上一篇c 組合json
下一篇vue.js攔截