C++是一種功能強(qiáng)大的編程語(yǔ)言,其中的類是C++重要的編程特征之一。C++中的類允許我們使用多個(gè)變量和相關(guān)函數(shù)封裝在一起,使我們的代碼更加靈活、模塊化,使程序員可以輕松地開發(fā)高質(zhì)量的代碼。
當(dāng)我們需要將C++類轉(zhuǎn)換成JSON字符串?dāng)?shù)組時(shí),我們需要借助第三方庫(kù),比如RapidJSON。
#include "rapidjson/document.h" #include "rapidjson/writer.h" #include "rapidjson/stringbuffer.h" #include <iostream> using namespace rapidjson; using namespace std; class Person { private: string name; int age; public: Person(string n, int a) { name = n; age = a; } Value to_json() { Document doc; doc.SetObject(); doc.AddMember("Name", Value().SetString(name.c_str(), name.length()), doc.GetAllocator()); doc.AddMember("Age", age, doc.GetAllocator()); return doc; } }; int main() { Person p("Tom", 20); Value json = p.to_json(); StringBuffer buffer; Writerwriter(buffer); json.Accept(writer); cout<< buffer.GetString()<< endl; return 0; }
在上面的代碼中,我們定義了一個(gè)名為Person的類。我們通過(guò)to_json()函數(shù)將其轉(zhuǎn)換為JSON字符串?dāng)?shù)組。使用rapidjson庫(kù),我們創(chuàng)建了一個(gè)JSON對(duì)象并添加了兩個(gè)屬性,即“Name”和“Age”,這是一個(gè)非常簡(jiǎn)單的例子。完成后,我們將JSON對(duì)象轉(zhuǎn)換為字符串?dāng)?shù)組并在控制臺(tái)中打印出來(lái)。