#pragma once #include #include #include #include "StringUtil.h" #include "rapidjson/document.h" #include "rapidjson/writer.h" #include "rapidjson/stringbuffer.h" #include using namespace std; class JsonUtil { public: static rapidjson::Document parseUTF8(string src) { rapidjson::Document root; root.Parse(src.c_str()); return root; } static rapidjson::GenericDocument> parseUTF16(string src) { wstring wresult = StringUtil::Unescape(src); rapidjson::GenericDocument> root; root.Parse(wresult.c_str()); return root; } static string toJsonStr(rapidjson::Document& document) { rapidjson::StringBuffer buffer; rapidjson::Writer writer(buffer); document.Accept(writer); std::string jsonString = buffer.GetString(); return jsonString; } };