本文整理汇总了C++中JsonArray::has_number方法的典型用法代码示例。如果您正苦于以下问题:C++ JsonArray::has_number方法的具体用法?C++ JsonArray::has_number怎么用?C++ JsonArray::has_number使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JsonArray
的用法示例。
在下文中一共展示了JsonArray::has_number方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: load_monitem
void game::load_monitem(JsonObject &jo) {
std::vector<std::string> tmp_keys;
std::vector<items_location_and_chance> tmp_items;
std::string mkey="";
if ( jo.has_string("id") ) {
tmp_keys.push_back( jo.get_string("id") );
} else if ( jo.has_array("id") ) {
jo.read("id", tmp_keys);
} else {
jo.throw_error("monitems: requires \"id\": \"monster_id\" or \"id\": [ \"multiple\", \"monster_ids\" ]");
}
if ( ! jo.has_array("item_groups") ) {
jo.throw_error("monitems: requires \"item_groups\": [ [ \"group_one\", (chance) ], ... ]");
}
JsonArray ja = jo.get_array("item_groups");
JsonArray ga;
while ( ja.has_more() ) {
ga = ja.next_array();
if ( ! ga.has_string(0) || ! ga.has_number(1) ) {
jo.throw_error("monitems: item_groups must contain arrays of [ \"string\", number ]");
}
tmp_items.push_back( items_location_and_chance( ga.get_string(0), ga.get_int(1) ) );
}
for( size_t i = 0; i < tmp_keys.size(); ++i ) {
std::map<std::string, std::vector <items_location_and_chance> >::iterator it = monitems.find( tmp_keys[i] );
if ( it == monitems.end() ) {
monitems[ tmp_keys[i] ] = tmp_items;
} else {
it->second.insert( it->second.end(), tmp_items.begin(), tmp_items.end() );
}
}
}