本文整理汇总了C++中json::value::is_array方法的典型用法代码示例。如果您正苦于以下问题:C++ value::is_array方法的具体用法?C++ value::is_array怎么用?C++ value::is_array使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类json::value
的用法示例。
在下文中一共展示了value::is_array方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: draw
// canvas::draw overridable
virtual void draw( HELEMENT he, graphics& gx, UINT width, UINT height )
{
if( !data.is_array() )
{
draw_message( gx, width, height, const_wchars(L"Data not found") );
return;
}
color black(0,0,0);
// x axis
gx.line_cap(LINE_CAP_BUTT);
gx.line_color(black);
gx.line( 0.5, height - 0.5, width - 0.5, height - 0.5 ); // 0.5 - to draw line in the middle of the pixel
for( int n = 0; n < data.length(); ++n )
{
json::value bar_def = data[n];
json::value color_v = bar_def.k2v(L"color");
json::value value_v = bar_def.k2v(L"value");
if( color_v.is_undefined() || value_v.is_undefined())
{
draw_message( gx, width, height, const_wchars(L"Bad data structure") );
return;
}
draw_bar(gx, width, height, n, data.length(), color(color_v.get(0)), value_v.get(1.0));
}
}
示例2: __print_close_brace
inline void __print_close_brace (string & result, json::value const & v, print_spec const & pspec)
{
if (v.is_array()) {
result.append(pspec.close_array_brace);
} else {
result.append(pspec.close_object_brace);
}
}
示例3: flattenJsonInnerLoop
void GoogleSearchClient::flattenJsonInnerLoop(json::value const & val, FlatJsonObject & json_map) {
// input : Body of the google search response as json::value
// This recursive function parse the Json raw value to a C++ multimap
if (!val.is_null() && val.is_object()) {
for (auto const &iter : val.as_object()) {
//iter on each element for Json object type. Return a vect<string_t,json::value>
const auto &mapKey = iter.first;
const auto &content = iter.second;
json_map.insert(std::pair<utility::string_t, utility::string_t>(mapKey, content.serialize()));
flattenJsonInnerLoop(content, json_map);
}
} else if (val.is_array()) {
for (auto const &content : val.as_array()) {
//iter on each element for Json array type. Return a json::value
flattenJsonInnerLoop(content, json_map);
}
}
}
示例4: REQUIRE
// Constructing with a float should produce number values
REQUIRE( json::value{33.2f}.is_number() );
REQUIRE( json::value{33.2f}.number<float>() == Approx(33.2f) );
REQUIRE( json::value{33.2f}.get_kind() == json::kind::number );
REQUIRE( json::value{33.2f}.get_contents() == "33.2" );
// Constructing with a char should produce number values (so that int8_t/uint8_t work correctly)
REQUIRE( json::value{'A'}.is_number() );
REQUIRE( json::value{'A'}.number<char>() == 'A' );
REQUIRE( json::value{'A'}.get_kind() == json::kind::number );
REQUIRE( json::value{'A'}.get_contents() == "65" );
// Constructing with a json::array should produce array values
json::value array_value = json::array{2,3.14f,"foo",false,nullptr};
REQUIRE( array_value.is_array() );
REQUIRE( array_value.get_array().size() == 5 );
REQUIRE( array_value[0] == 2 );
REQUIRE( array_value[1] == 3.14f );
REQUIRE( array_value[2] == "foo" );
REQUIRE( array_value[3] == false );
REQUIRE( array_value[4] == nullptr );
REQUIRE( array_value.get_kind() == json::kind::array );
// Constructing with a json::object should produce object values
json::value object_value = json::object{{"a",2},{"b",3.14f},{"c","foo"},{"d",false},{"e",nullptr}};
REQUIRE( object_value.is_object() );
REQUIRE( object_value.get_object().size() == 5 );
REQUIRE( object_value["a"] == 2 );
REQUIRE( object_value["b"] == 3.14f );
REQUIRE( object_value["c"] == "foo" );