struct utils::SerializableJson

Overview

Abstration of a class that supports serialization to json strings. More…

#include <SerializableJson.h>

struct SerializableJson {
    // methods

    std::string Serialize() const;
    bool Deserialize(const std::string& json_string);
    virtual void AddToJsonNode(nlohmann::json& node) const = 0;
    virtual bool ReadFromJsonNode(const nlohmann::json& node) = 0;
};

Detailed Documentation

Abstration of a class that supports serialization to json strings.

When inheriting this class, be sure to overload methods AddToJsonNode and ReadFromJsonNode, that should contain implementation of your json serialization.

Methods

std::string Serialize() const

Stores object to json string.

bool Deserialize(const std::string& json_string)

Loads object from json string.

virtual void AddToJsonNode(nlohmann::json& node) const = 0

Fill data of this to json node.

virtual bool ReadFromJsonNode(const nlohmann::json& node) = 0

Read json node and initialize this.

Parameters:

nlohmann::json::exception

when required keys are missing.