在C++中,拼接JSON結構非常方便。我們可以利用現成的JSON庫來快速構造JSON數組。以下是一個使用RapidJSON庫拼接JSON數組的示例代碼:
#include "rapidjson/document.h" #include "rapidjson/writer.h" #include "rapidjson/stringbuffer.h" using namespace rapidjson; int main() { // 創建一個RapidJSON文檔對象 Document document; document.SetArray(); // 設置為數組類型 // 創建三個JSON對象,我們可以在這里設置任何我們想要的數據 Document::AllocatorType& allocator = document.GetAllocator(); Value object1(kObjectType); object1.AddMember("name", "John", allocator); object1.AddMember("age", 25, allocator); Value object2(kObjectType); object2.AddMember("name", "Bob", allocator); object2.AddMember("age", 30, allocator); Value object3(kObjectType); object3.AddMember("name", "Alice", allocator); object3.AddMember("age", 21, allocator); // 將三個JSON對象添加到JSON數組中 document.PushBack(object1, allocator); document.PushBack(object2, allocator); document.PushBack(object3, allocator); // 將JSON數組序列化成字符串 StringBuffer buffer; Writerwriter(buffer); document.Accept(writer); // 輸出字符串 std::cout<< buffer.GetString()<< std::endl; return 0; }
以上代碼創建了一個RapidJSON文檔對象,并且將其設置為JSON數組類型。然后我們創建了三個JSON對象,并將它們添加到JSON數組中。最后,我們將JSON序列化為字符串,并將其輸出到控制臺,它看起來像這樣:
[{"name":"John","age":25},{"name":"Bob","age":30},{"name":"Alice","age":21}]
這是一個符合JSON規范的數組,其中包含了三個JSON對象。我們可以將其發送到服務器或在前端使用JavaScript解析它們。
上一篇cxf 返回json