diff options
author | peterbell10 <peterbell10@live.co.uk> | 2020-05-09 16:51:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-09 16:51:15 +0200 |
commit | e6634ed26c50e99f6ccd285235fe477cb4168b06 (patch) | |
tree | b533a69db545835a886bcd8c5b05609b4c830d11 /src/JsonUtils.cpp | |
parent | Upgrade to C++17 [CI] (#4716) (diff) | |
download | cuberite-e6634ed26c50e99f6ccd285235fe477cb4168b06.tar cuberite-e6634ed26c50e99f6ccd285235fe477cb4168b06.tar.gz cuberite-e6634ed26c50e99f6ccd285235fe477cb4168b06.tar.bz2 cuberite-e6634ed26c50e99f6ccd285235fe477cb4168b06.tar.lz cuberite-e6634ed26c50e99f6ccd285235fe477cb4168b06.tar.xz cuberite-e6634ed26c50e99f6ccd285235fe477cb4168b06.tar.zst cuberite-e6634ed26c50e99f6ccd285235fe477cb4168b06.zip |
Diffstat (limited to '')
-rw-r--r-- | src/JsonUtils.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/JsonUtils.cpp b/src/JsonUtils.cpp new file mode 100644 index 000000000..6c70e70d3 --- /dev/null +++ b/src/JsonUtils.cpp @@ -0,0 +1,43 @@ +#include "Globals.h" + +#include "JsonUtils.h" +#include "json/json.h" + +#include <sstream> + + +namespace JsonUtils +{ + +AString WriteFastString(const Json::Value & a_Root) +{ + Json::StreamWriterBuilder Builder; + Builder["commentStyle"] = "None"; + Builder["indentation"] = ""; + return Json::writeString(Builder, a_Root); +} + + + + + +AString WriteStyledString(const Json::Value & a_Root) +{ + Json::StreamWriterBuilder Builder; + return Json::writeString(Builder, a_Root); +} + + + + + +bool ParseString(const AString & a_JsonStr, Json::Value & a_Root, AString * a_ErrorMsg) +{ + Json::CharReaderBuilder Builder; + std::unique_ptr<Json::CharReader> Reader(Builder.newCharReader()); + + const char * Doc = a_JsonStr.data(); + return Reader->parse(Doc, Doc + a_JsonStr.size(), &a_Root, a_ErrorMsg); +} + +} // namespace JsonUtils |