我尝试了下面的代码-但得到一个编译错误
rapidjson::Document details; details.SetObject(); std::string s = "kjfhgdkgjhfkjfhj"; details.AddMember("farm", s, details.GetAllocator());
创建值为std::string的成员的正确方法是什么
std::string
nkoocmlb1#
为了允许rapidjson使用std::string,在程序的开头添加以下预处理器指令。
#define RAPIDJSON_HAS_STDSTRING 1
添加上面的行后,下面的程序对我来说工作正常。
#define RAPIDJSON_HAS_STDSTRING 1 #include<iostream> #include<rapidjson/rapidjson.h> #include<rapidjson/document.h> #include<rapidjson/filewritestream.h> #include<rapidjson/prettywriter.h> #include<string> void writeJSON(); int main() { writeJSON(); getchar(); return 0; } void writeJSON() { rapidjson::Document doc; doc.SetObject(); std::string s = "kjfhgdkgjhfkjfhj"; doc.AddMember("farm", s, doc.GetAllocator()); FILE* fp; errno_t err = fopen_s(&fp, "data.json", "wb"); char writeBuffer[65536]; rapidjson::FileWriteStream os(fp, writeBuffer, sizeof(writeBuffer)); rapidjson::PrettyWriter<rapidjson::FileWriteStream> writer(os); doc.Accept(writer); fclose(fp); std::cout << "JSON data written to data.json file" << std::endl; }
1条答案
按热度按时间nkoocmlb1#
为了允许rapidjson使用std::string,在程序的开头添加以下预处理器指令。
添加上面的行后,下面的程序对我来说工作正常。