WhisperCom/libs/json/doc/examples/get_ref.cpp

28 lines
573 B
C++
Raw Permalink Normal View History

#include <iostream>
#include <nlohmann/json.hpp>
using json = nlohmann::json;
int main()
{
// create a JSON number
json value = 17;
// explicitly getting references
auto r1 = value.get_ref<const json::number_integer_t&>();
auto r2 = value.get_ref<json::number_integer_t&>();
// print the values
std::cout << r1 << ' ' << r2 << '\n';
// incompatible type throws exception
try
{
auto r3 = value.get_ref<json::number_float_t&>();
}
catch (json::type_error& ex)
{
std::cout << ex.what() << '\n';
}
}