企业网站的cms,skr搜索引擎入口,数字广东网络建设有限公司是国企吗,网站建设价格差别为什么这么大具体的步骤#xff1a; 先下载rapidjson的依赖包
方式1#xff1a;直接使用git去下载
地址#xff1a;git clone https://github.com/miloyip/rapidjson.git 方式2#xff1a;下载我上传的依赖包 将依赖包引入到项目中
1 将解压后的文件放在你c项目中 2 将rapidjson文… 具体的步骤 先下载rapidjson的依赖包
方式1直接使用git去下载
地址git clone https://github.com/miloyip/rapidjson.git 方式2下载我上传的依赖包 将依赖包引入到项目中
1 将解压后的文件放在你c项目中 2 将rapidjson文件中的src目录引入到项目中
步骤
1 打开项目项目属性 2 点击属性 -----》c------》添加src目录--》确认退出 到这里你的项目就可以用rapidjson了 开始使用rapidjson有一些需要注意的地方 创建头文件 #include rapidjson/document.h #include rapidjson/writer.h #include rapidjson/stringbuffer.h #include rapidjson/filereadstream.h #include rapidjson/filewritestream.h #include rapidjson/istreamwrapper.h #include rapidjson/ostreamwrapper.h #include iostream #include fstream #include stdio.h using namespace rapidjson; using namespace std; int rapidJsonTest(); 创建cpp文件 #include rapidJsonTest.h #include vector #include memory.h #includectime #includestdio.h int rapidJsonTest() { Document jsonDoc; Document::AllocatorType allocator jsonDoc.GetAllocator(); jsonDoc.SetObject(); //主对象 Value value(kObjectType); value.AddMember(flag, 0, allocator); value.AddMember(msg, 操作成功, allocator); //result对象 Value result(kObjectType); //添加result的基本信息 result.AddMember(name, (匿名), allocator); result.AddMember(right_query, true, allocator); //创建一个array对象用于存储t信息 Value arraych(kArrayType); struct chunnels { int chunnel; string username; string telphone; }; for (int i 0; i 5; i) { chunnels ch; ch.chunnel 0; ch.username 黎明; ch.telphone 110; Value chu(kObjectType); Value v0; v0.SetInt(ch.chunnel); //数值型这样写 Value v1(ch.username.c_str(), allocator); //字符串这样写就不会出现/u0000的问题了 Value v2(ch.telphone.c_str(), allocator); chu.AddMember(chunnel, v0, allocator); chu.AddMember(username, v1, allocator); chu.AddMember(telphone, v2, allocator); chu.AddMember(第三种写法, 6666, allocator); //直接内容的话不需要转 arraych.PushBack(chu, allocator); } //将集合添加到result对象中 result.AddMember(chunnels, arraych, allocator); //将result对象加入到主对象 value.AddMember(result, result, allocator); // 转为string StringBuffer str; WriterStringBuffer writer(str); value.Accept(writer); string strJson str.GetString(); cout strJson endl; return 0; } 案例二 int demo2(){ cout json Value的新建及key的访问 endl; Document jsonDoc; //生成一个dom元素Document Document::AllocatorType allocator jsonDoc.GetAllocator(); //获取分配器 jsonDoc.SetObject(); //将当前的Document设置为一个object也就是说整个Document是一个Object类型的dom元素 // 新建Value对象1(object类型) Value value1(kObjectType); value1.AddMember(name, 语文, allocator); // string型(给字段赋值key必须为string型下同) value1.AddMember(score, 80, allocator); // 整型 value1.AddMember(right, true, allocator); // 整型 value1.AddMember(percent, 12.3456789123, allocator);// double型 // 此时访问key是可以的 if (value1.HasMember(name)) // 判断是否存在该key { if (value1[name].IsString()) // 再判断类型是否正确 { cout value1:name: value1[name].GetString() endl; } cout value1:score: value1[score].GetInt() endl; // 直接这样写有风险 } // 新建Value对象(数组类型) Value value2(kArrayType); value2.PushBack(1, allocator); value2.PushBack(2, allocator); value2.PushBack(3, allocator); cout value:size()数组中元素个数: value2.Size() endl; // 合并一个整体 Value value3(kObjectType); value3.AddMember(name, xiaoming, allocator); value3.AddMember(age, 18, allocator); value3.AddMember(value1, value1, allocator); // 整个value1作为key的值 value3.AddMember(value2, value2, allocator); // 整个value2作为key的值 // 转为string StringBuffer str; WriterStringBuffer writer(str); value3.Accept(writer); string strJson str.GetString(); cout value3: strJson.c_str() endl; } 记得在使用rapidjson是对于string类型和数值类型需要使用rapidjson的形式去封装不然会出错