本文整理汇总了C++中nlohmann::json::is_object方法的典型用法代码示例。如果您正苦于以下问题:C++ json::is_object方法的具体用法?C++ json::is_object怎么用?C++ json::is_object使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nlohmann::json
的用法示例。
在下文中一共展示了json::is_object方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: loadJSON
/**
* Import parameters from given json object.
* Throw std::runtime_error if given json is malformated.
*/
inline void loadJSON(const nlohmann::json& j)
{
//Empty case
if (j.is_null()) {
return;
}
//Check json type
if (!j.is_object()) {
throw std::runtime_error(
"ParametersContainer load parameters json not object");
}
//Iterate on json entries
for (nlohmann::json::const_iterator it=j.begin();it!=j.end();it++) {
if (it.value().is_boolean()) {
//Boolean
if (_paramsBool.count(it.key()) == 0) {
throw std::runtime_error(
"ParametersContainer load parameters json bool does not exist: "
+ it.key());
} else {
paramBool(it.key()).value = it.value();
}
} else if (it.value().is_number()) {
//Number
if (_paramsNumber.count(it.key()) == 0) {
throw std::runtime_error(
"ParametersContainer load parameters json number does not exist: "
+ it.key());
} else {
paramNumber(it.key()).value = it.value();
}
} else if (it.value().is_string()) {
//String
if (_paramsStr.count(it.key()) == 0) {
throw std::runtime_error(
"ParametersContainer load parameters json str does not exist: "
+ it.key());
} else {
paramStr(it.key()).value = it.value();
}
} else {
throw std::runtime_error(
"ParametersContainer load parameters json malformated");
}
}
}
示例2: if
to_if_held_down(const nlohmann::json& json) : dispatcher_client(),
current_held_down_id_(0) {
try {
if (json.is_object()) {
to_ = std::vector<to_event_definition>{
json.get<to_event_definition>(),
};
} else if (json.is_array()) {
to_ = json.get<std::vector<to_event_definition>>();
} else {
throw pqrs::json::unmarshal_error(fmt::format("json must be object or array, but is `{0}`", json.dump()));
}
} catch (...) {
detach_from_dispatcher();
throw;
}
}
示例3: make_from_json
static entry make_from_json(const nlohmann::json& json) {
entry result(device_id(0),
event_time_stamp(absolute_time_point(0)),
event(),
event_type::key_down,
event());
if (json.is_object()) {
if (auto v = pqrs::json::find<uint32_t>(json, "device_id")) {
result.device_id_ = device_id(*v);
}
if (auto v = pqrs::json::find_json(json, "event_time_stamp")) {
result.event_time_stamp_ = event_time_stamp::make_from_json(v->value());
}
if (auto v = pqrs::json::find<bool>(json, "valid")) {
result.valid_ = *v;
}
if (auto v = pqrs::json::find<bool>(json, "lazy")) {
result.lazy_ = *v;
}
if (auto v = pqrs::json::find_json(json, "event")) {
result.event_ = event::make_from_json(v->value());
}
if (auto v = pqrs::json::find_json(json, "event_type")) {
result.event_type_ = v->value().get<event_type>();
}
if (auto v = pqrs::json::find_json(json, "original_event")) {
result.original_event_ = event::make_from_json(v->value());
}
}
return result;
}
示例4: Contains
bool Contains(const nlohmann::json& json, const std::string& member)
{
return json.is_object() && json.find(member) != json.end();
}