Logo Pico-Framework A web-first embedded framework for C++
Loading...
Searching...
No Matches
NlohmannJsonImpl.h
Go to the documentation of this file.
1#pragma once
2#include "json/IJsonImpl.h"
3#include <nlohmann/json.hpp>
4
5namespace Framework {
6
7class NlohmannJsonImpl : public IJsonImpl {
8public:
10 explicit NlohmannJsonImpl(const nlohmann::json& j);
11 explicit NlohmannJsonImpl(nlohmann::json&& j);
12
13 std::shared_ptr<IJsonImpl> clone() const override;
14
15 std::string dump(int indent = -1) const override;
16
17 json at(const std::string& key) const override;
18 json& refAt(const std::string& key) override;
19
20 bool is_object() const override;
21 bool is_array() const override;
22 bool is_null() const override;
23 bool is_string() const override;
24 bool is_boolean() const override;
25 bool is_number() const override;
26
27 size_t size() const override;
28 bool empty() const override;
29
30 bool contains(const std::string& key) const override;
31
32 const nlohmann::json& raw() const { return j_; }
33 nlohmann::json& raw() { return j_; }
34
35private:
36 nlohmann::json j_;
37};
38
39} // namespace Framework
json & refAt(const std::string &key) override
bool is_null() const override
bool is_array() const override
bool is_string() const override
std::string dump(int indent=-1) const override
NlohmannJsonImpl(const nlohmann::json &j)
bool empty() const override
const nlohmann::json & raw() const
bool is_object() const override
size_t size() const override
bool is_boolean() const override
NlohmannJsonImpl(nlohmann::json &&j)
bool is_number() const override
std::shared_ptr< IJsonImpl > clone() const override
json at(const std::string &key) const override
bool contains(const std::string &key) const override