28 #define RAPIDJSON_HAS_STDSTRING 1
31 #include "rapidjson/document.h"
35 #include <unordered_map>
38 class JsonWriteComplex;
39 class JsonWriteObject;
41 class JsonWriteDocument;
55 virtual rapidjson::Document::AllocatorType&
allocator();
143 rapidjson::Document::ValueType&& value,
144 rapidjson::Document::AllocatorType&
allocator);
238 virtual rapidjson::Document::AllocatorType&
allocator()
override;
241 rapidjson::Document::ValueType&& value,
242 rapidjson::Document::AllocatorType&
allocator)
override;
243 void dump(rapidjson::Value& parent);
255 bool serialize(
const std::string& filename);
263 namespace JsonConverter {
269 std::unordered_map<std::string,std::string>
stringToDictionary(
const std::string& json_string);
276 std::string
dictionaryToString(
const std::unordered_map<std::string,std::string>& key_values);
JsonWriteArray & operator<<(const std::string &txt)
virtual void finalize(JsonWriteComplex *cplx) override
JsonWriteObject & add_object()
virtual ~JsonWriteArray()
JsonWriteArray & add_array()
std::vector< JsonWriteData * > mChildData
friend class JsonWriteArray
rapidjson::Value mRapidValue
virtual ~JsonWriteComplex()
virtual void finalize(JsonWriteComplex *cplx)=0
friend class JsonWriteObject
JsonWriteData(const std::string &tag, JsonWriteComplex *parent)
JsonWriteComplex * mParent
friend class JsonWriteComplex
JsonWriteData & operator=(const std::string &txt)
virtual rapidjson::Document::AllocatorType & allocator()
bool serialize(const std::string &filename)
rapidjson::Document mRapidDocument
virtual void finalize(JsonWriteComplex *cplx) override
virtual void add_member(rapidjson::Document::ValueType &&name, rapidjson::Document::ValueType &&value, rapidjson::Document::AllocatorType &allocator) override
virtual rapidjson::Document::AllocatorType & allocator() override
virtual ~JsonWriteDocument()
virtual ~JsonWriteObject()
JsonWriteData & operator[](const std::string &tag)
JsonWriteObject & add_object(const std::string &tag)
virtual void add_member(rapidjson::Document::ValueType &&name, rapidjson::Document::ValueType &&value, rapidjson::Document::AllocatorType &allocator)
virtual void finalize(JsonWriteComplex *cplx) override
JsonWriteArray & add_array(const std::string &tag)
std::unordered_map< std::string, std::string > stringToDictionary(const std::string &json_string)
std::string dictionaryToString(const std::unordered_map< std::string, std::string > &key_values)