rapidjson的read和write的sample
生活随笔
收集整理的這篇文章主要介紹了
rapidjson的read和write的sample
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include "json/document.h"
#include "json/prettywriter.h"
#include "json/stringbuffer.h"
?
這是生成數組的
void test() {string info = "{\"id\":\"1111111\",\"cards\":[0,1,2,3,4,5,6,7,8,9],\"jiaoDiZhu\":\"\"}";rapidjson::Document doc;doc.Parse<0>(info.c_str());rapidjson::Value &dataArray = doc["cards"];if (dataArray.IsArray()){for (rapidjson::SizeType i = 0; i < dataArray.Size(); i++){const rapidjson::Value& object = dataArray[i];printf("%d\n",object.GetInt());}} }?
void test() {//read jsonstring updateInfo = "{\"UpdateInfo\":[{\"url\":\"aaaa.ipa\",\"platform\":\"ios\"}]}";rapidjson::Document doc;doc.Parse<0>(updateInfo.c_str());rapidjson::Value &dataArray = doc["UpdateInfo"];if (dataArray.IsArray()){for (int i = 0; i < dataArray.Size(); i++){const rapidjson::Value& object = dataArray[i];string url = object["url"].GetString();string platform = object["platform"].GetString();}}//write json rapidjson::Document document;document.SetObject();rapidjson::Document::AllocatorType& allocator = document.GetAllocator();rapidjson::Value array(rapidjson::kArrayType);for (int i = 0; i < 10; i++){rapidjson::Value object(rapidjson::kObjectType);object.AddMember("id", 1, allocator);object.AddMember("name", "test", allocator);object.AddMember("version", 1.01, allocator);object.AddMember("vip", true, allocator);object.SetInt(i);array.PushBack(object, allocator);}document.AddMember("title", "PLAYER INFO", allocator);document.AddMember("players", array, allocator);rapidjson::StringBuffer buffer;rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);document.Accept(writer);auto out = buffer.GetString();log("out: %s", out); }?
下面是單個的
void readTest() {char json[] = "{\"carriorName\":\"日本電信\",\"deviceName\":\"iPhone5,2\",\"osName\":\"android\",\"osVersion\":\"8.1\",\"appId\":\"com.mmcshadow.doudizhu\",\"versionName\":\"1.0\",\"versionCode\":\"1.0\",\"deviceId\":\"11111111\"}";rapidjson::Document d;d.Parse<0>(json);printf("%s\n", d["carriorName"].GetString());printf("%s\n", json); } void writeTest() {rapidjson::Document document;rapidjson::Document::AllocatorType& allocator = document.GetAllocator();rapidjson::Value root(rapidjson::kObjectType);root.AddMember("name", "哥倫布啊", allocator);root.AddMember("gold",1234,allocator);rapidjson::StringBuffer buffer;rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);root.Accept(writer);std::string reststring = buffer.GetString();std::cout << reststring << std::endl; }總結
以上是生活随笔為你收集整理的rapidjson的read和write的sample的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rapidjson官方教程
- 下一篇: C++冒号表达式