1# basic_json::value_t 2 3```cpp 4enum class value_t : std::uint8_t { 5 null, 6 object, 7 array, 8 string, 9 boolean, 10 number_integer, 11 number_unsigned, 12 number_float, 13 binary, 14 discarded 15}; 16``` 17 18This enumeration collects the different JSON types. It is internally used to distinguish the stored values, and the 19functions [`is_null`](is_null.md), [`is_object`](is_object.md), [`is_array`](is_array.md), [`is_string`](is_string.md), 20[`is_boolean`](is_boolean.md), [`is_number`](is_number.md) (with [`is_number_integer`](is_number_integer.md), 21[`is_number_unsigned`](is_number_unsigned.md), and [`is_number_float`](is_number_float.md)), 22[`is_discarded`](is_discarded.md), [`is_binary`](is_binary.md), [`is_primitive`](is_primitive.md), and 23[`is_structured`](is_structured.md) rely on it. 24 25## Note 26 27There are three enumeration entries (number_integer, number_unsigned, and number_float), because the library 28distinguishes these three types for numbers: [`number_unsigned_t`](number_unsigned_t.md) is used for unsigned integers, 29[`number_integer_t`](number_integer_t.md) is used for signed integers, and [`number_float_t`](number_float_t.md) is used 30for floating-point numbers or to approximate integers which do not fit in the limits of their respective type. 31 32## Version history 33 34- Added in version 1.0.0. 35- Added unsigned integer type in version 2.0.0. 36- Added binary type in version 3.8.0. 37