使用rapidjson生成json串
·
-
引入头文件
#include "json/document.h" #include "json/writer.h" #include "json/stringbuffer.h" using namespace rapidjson; -
生成json串
rapidjson::Document document; document.SetObject(); rapidjson::Document::AllocatorType& allocator = document.GetAllocator(); rapidjson::Value array(rapidjson::kArrayType); rapidjson::Value object(rapidjson::kObjectType); object.AddMember("int", 1, allocator); object.AddMember("double", 1.0, allocator); object.AddMember("bool", true, allocator); object.AddMember("hello", "HelloWorld", allocator); array.PushBack(object, allocator); //document.AddMember("json", "json string", allocator); document.AddMember("json", array, allocator); StringBuffer buffer; rapidjson::Writer<StringBuffer> writer(buffer); document.Accept(writer); CCLOG("%s", buffer.GetString()); std::string mstr = buffer.GetString(); rapidjson::Document _mDoc; _mDoc.Parse<0>(mstr.c_str()); const rapidjson::Value &pArr = _mDoc["json"]; CCLOG("Size = %d", pArr.Capacity()); for (int i = 0; i < pArr.Capacity(); ++i){ const rapidjson::Value &temp = pArr[i]; CCLOG("%d", temp["int"].GetInt()); }
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)