看最简单的:
#include <iostream> #include <stdio.h> #include<unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include<sstream> // 请自己下载开源的rapidjson #include "rapidjson/prettywriter.h" #include "rapidjson/rapidjson.h" #include "rapidjson/document.h" #include "rapidjson/stringbuffer.h" #include "rapidjson/writer.h" #include "rapidjson/memorystream.h" using namespace std; using rapidjson::Document; using rapidjson::StringBuffer; using rapidjson::Writer; using namespace rapidjson; void test() { Document document; document.SetObject(); Document::AllocatorType& allocator = document.GetAllocator(); Value object(rapidjson::kObjectType); document.AddMember("age",29,allocator); document.AddMember("name","taoge",allocator); StringBuffer buffer; Writer<StringBuffer> writer(buffer); document.Accept(writer); string str = buffer.GetString(); cout << str << endl; } int main(int argc,char *argv[]) { test(); return 0; }结果:{"age":29,"name":"taoge"}
再看数组:
#include <iostream> #include <stdio.h> #include<unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include<sstream> // 请自己下载开源的rapidjson #include "rapidjson/prettywriter.h" #include "rapidjson/rapidjson.h" #include "rapidjson/document.h" #include "rapidjson/stringbuffer.h" #include "rapidjson/writer.h" #include "rapidjson/memorystream.h" using namespace std; using rapidjson::Document; using rapidjson::StringBuffer; using rapidjson::Writer; using namespace rapidjson; void test() { Document document; document.SetObject(); Document::AllocatorType& allocator = document.GetAllocator(); Value array(rapidjson::kArrayType); Value object(rapidjson::kObjectType); object.AddMember("age",30,allocator); object.AddMember("name",allocator); array.PushBack(object,allocator); document.AddMember("json",array,allocator); StringBuffer buffer; Writer<StringBuffer> writer(buffer); document.Accept(writer); string str = buffer.GetString(); cout << str << endl; } int main(int argc,char *argv[]) { test(); return 0; }结果:{"json":[{"age":30,"name":"taoge"}]}
再来看一个:
#include <iostream> #include <stdio.h> #include<unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include<sstream> // 请自己下载开源的rapidjson #include "rapidjson/prettywriter.h" #include "rapidjson/rapidjson.h" #include "rapidjson/document.h" #include "rapidjson/stringbuffer.h" #include "rapidjson/writer.h" #include "rapidjson/memorystream.h" using namespace std; using rapidjson::Document; using rapidjson::StringBuffer; using rapidjson::Writer; using namespace rapidjson; void test() { Document document; document.SetObject(); Document::AllocatorType& allocator = document.GetAllocator(); Value array(rapidjson::kArrayType); Value object(rapidjson::kObjectType); object.AddMember("age",allocator); document.AddMember("oh1",allocator); document.AddMember("oh2","hehe",char *argv[]) { test(); return 0; }结果:{"oh1":[{"age":30,"name":"taoge"}],"oh2":"hehe"}