#include "rapidjson/document.h"
#include "rapidjson/writer.h"
#include "rapidjson/stringbuffer.h"
解析JSON字符串
rapidjson::Document doc
doc.Parse(json_string)
其中,json_string是待解析的JSON字符串,解析后的结果存储在doc对象中。
获取JSON值
doc["key"]
doc[0]
doc["obj"]["key"]
获取JSON对象的成员
for (auto& m : doc.GetObject()) {
std::string key = m.name.GetString();
rapidjson::Value& value = m.value;
序列化JSON
rapidjson::StringBuffer buffer;
rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
doc.Accept(writer);
std::string json_string = buffer.GetString();
其中,doc是待序列化的JSON对象,序列化后的结果存储在json_string字符串中。
判断JSON值的类型
doc.IsObject()
doc.IsArray()
doc.IsString()
doc.IsNumber()
doc.IsBool()
doc.IsNull()
获取JSON值的属性
doc["key"].IsString()
doc["key"].GetInt()
doc["key"].GetDouble()
doc["key"].GetString()
doc["key"].GetBool()
doc["key"].IsNull()
doc["key"].Size()
doc["key"][0]
以上是rapidjson的基本使用方法,希望对你有所帮助。如果你还有任何问题,请继续提问。