esp/io/json.h file

Contents

Namespaces

namespace esp
Root namespace.
namespace esp::io

Typedefs

using JsonDocument = rapidjson::Document
using JsonGenericValue = rapidjson::GenericValue<rapidjson::UTF8<>>

Functions

auto parseJsonFile(const std::string& file) -> JsonDocument
Parse JSON file and return as JsonDocument object.
auto parseJsonString(const std::string& jsonString) -> JsonDocument
Parse JSON string and return as JsonDocument object.
auto jsonToString(const JsonDocument& d) -> std::string
Return string representation of given JsonDocument.
auto jsonToVec3f(const JsonGenericValue& jsonArray) -> esp::vec3f
Return Vec3f coordinates representation of given JsonObject of array type.
template<typename GV, typename T>
void toVector(const GV& arr, std::vector<T>* vec, const std::function<T(const GV&)>& conv)
template<typename GV>
void toIntVector(const GV& value, std::vector<int>* vec)
template<typename GV>
void toInt64Vector(const GV& value, std::vector<int64_t>* vec)
template<typename GV>
void toFloatVector(const GV& value, std::vector<float>* vec)
template<typename GV>
void toDoubleVector(const GV& value, std::vector<double>* vec)

Defines

#define RAPIDJSON_NO_INT64DEFINE