大佬教程收集整理的这篇文章主要介绍了rapidjson write & read,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
目标json:
{ "result" : 1,"data" : { "friends" : [ { "AWARD" : 2,"friend" : { "gate" : 0,"nickName" : "游客111111","uuid" : "111111" } } ],"invited" : true } }
#include "rapidjson.h" #include "Stringbuffer.h" #include "writer.h" using namespace rapidjson; Document doc; doc.SetObject(); Document::AllocatorType& all = doc.GetAllocator(); doc.AddMember("result",1,all); Value data; data.SetObject(); Value friends(kArrayTypE); for (int i = 0; i < 1; i++) { Value friendsData; friendsData.SetObject(); friendsData.AddMember("AWARD",2,all); Value friendData; friendData.SetObject(); friendData.AddMember("gate",all); friendData.AddMember("uuid","111111",all); friendData.AddMember("nickName","游客111111",all); friendsData.AddMember("friend",friendData,all); friends.PushBACk(friendsData,all); } data.AddMember("friends",friends,all); data.AddMember("invited",true,all); doc.AddMember("data",data,all); rapidjson::stringBuffer buffer; rapidjson::Writer<rapidjson::stringBuffer> writer(buffer); doc.Accept(writer); std::string dataString = buffer.GetString();
解析目标json:
Document jsonDic; String str = "目标JSON"; CommonFuncDefine::parseString(str,jsonDic); Value &dataValue= jsonDic["data"]; int isInvited = dataValue["invited"].GetBool(); Value &friendsData = dataValue["friends"]; if (friendsData.IsArray()) { for (rapidjson::SizeType i = 0; i < friendsData.Size(); i++) { Value &friendData = friendsData[i]; int invitedAWARD = friendData["AWARD"].GeTint(); Value &friendObject = friendData["friend"]; int tollgate = friendObject["gate"].GeTint(); String uuid = friendObject["uuid"].GetString(); String nickName = friendObject["nickName"].GetString(); } }
以上是大佬教程为你收集整理的rapidjson write & read全部内容,希望文章能够帮你解决rapidjson write & read所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。