# Renderd7-nightly: nlohmann::basic_json::json_value Union Reference

nlohmann::basic_json::json_value Union Reference

a JSON value More...

## Public Member Functions

| json_value ()=default
| default constructor (for null values)
| json_value (boolean_t v) noexcept
| constructor for booleans
| json_value (number_integer_t v) noexcept
| constructor for numbers (integer)
| json_value (number_unsigned_t v) noexcept
| constructor for numbers (unsigned)
| json_value (number_float_t v) noexcept
| constructor for numbers (floating-point)
| json_value (value_t t)
| constructor for empty values of a given type
| json_value (const string_t &value)
| constructor for strings
| json_value (string_t &&value)
| constructor for rvalue strings
| json_value (const object_t &value)
| constructor for objects
| json_value (object_t &&value)
| constructor for rvalue objects
| json_value (const array_t &value)
| constructor for arrays
| json_value (array_t &&value)
| constructor for rvalue arrays
| json_value (const typename binary_t::container_type &value)
| constructor for binary arrays
| json_value (typename binary_t::container_type &&value)
| constructor for rvalue binary arrays
| json_value (const binary_t &value)
| constructor for binary arrays (internal type)
| json_value (binary_t &&value)
| constructor for rvalue binary arrays (internal type)

## Public Attributes

object_t * | object
| object (stored with pointer to save storage)
array_t * | array
| array (stored with pointer to save storage)
string_t * | string
| string (stored with pointer to save storage)
binary_t * | binary
| binary (stored with pointer to save storage)
boolean_t | boolean
| boolean
number_integer_t | number_integer
| number (integer)
number_unsigned_t | number_unsigned
| number (unsigned integer)
number_float_t | number_float
| number (floating-point)

## Detailed Description

a JSON value

The actual storage for a JSON value of the basic_json class. This union combines the different storage types for the JSON value types defined in value_t.

JSON type | value_t type | used type
--- | --- | ---
object | object | pointer to object_t
array | array | pointer to array_t
string | string | pointer to string_t
boolean | boolean | boolean_t
number | number_integer | number_integer_t
number | number_unsigned | number_unsigned_t
number | number_float | number_float_t
binary | binary | pointer to binary_t
null | null | no value is stored

Note
  Variable-length types (objects, arrays, and strings) are stored as pointers. The size of the union should not exceed 64 bits if the default value types are used.

Since
  version 1.0.0