nlohmann::basic_json::value_t

enum class value_t : std::uint8_t {
    null,
    object,
    array,
    string,
    boolean,
    number_integer,
    number_unsigned,
    number_float,
    binary,
    discarded
};

This enumeration collects the different JSON types. It is internally used to distinguish the stored values, and the functions is_null, is_object, is_array, is_string, is_boolean, is_number (with is_number_integer, is_number_unsigned, and is_number_float), is_discarded, is_binary, is_primitive, and is_structured rely on it.

Notes

There are three enumeration entries (number_integer, number_unsigned, and number_float), because the library distinguishes these three types for numbers: number_unsigned_t is used for unsigned integers, number_integer_t is used for signed integers, and number_float_t is used for floating-point numbers or to approximate integers which do not fit in the limits of their respective type.

Version history

  • Added in version 1.0.0.
  • Added unsigned integer type in version 2.0.0.
  • Added binary type in version 3.8.0.