mirror of
https://github.com/nlohmann/json.git
synced 2026-11-04 11:49:22 +00:00
docs: new design for the documentation site (#5934)
* docs: new design for the documentation site Apply the brand to the Material for MkDocs site: Inter and JetBrains Mono served by the site (upright and real italic), brand colours, blue header band with the syntax pattern, wordmark in the header, new home page (hero, cards, animated feature tour), 404 page, polish for tabs, search, footer, focus rings, tables and code blocks, and theme features (code copy, previous/next footer, TOC follow, search suggestions). Draw the number railroad diagram, the parser callback events and the iterator illustrations as inline SVGs that follow the light and dark scheme. The generator scripts are in docs/mkdocs/scripts/figures; the feature slideshow (json-light.svg, json-dark.svg, replacing json.gif on the home page) is built by docs/mkdocs/scripts/slideshow. Decision nodes in five flowcharts become hexagons, which need far less room. Signed-off-by: Niels Lohmann <mail@nlohmann.me> * docs: add figures, table captions and a macro chooser - Figures with numbered captions: SAX stepper, json_view layout and edit stepper, exception map, JSON pointer and patch walkers, QA pipeline, scaling and binary size charts, roadmap lanes, release timeline, integration decision tree and namespace builder - Table captions (nj-table-caption) on 9 pages - Compile times: modules and PCH charts, filesystem section, re-measured Figure 1, links between features/modules.md and compile_times.md - Interactive macro chooser for features/arbitrary_types.md - Link check: exclude URLs that answer the plugin with 400/401/419 or are dead (customers.md) Signed-off-by: Niels Lohmann <mail@nlohmann.me> * docs: macro chooser generates adl_serializer for non-default-constructible types Signed-off-by: Niels Lohmann <mail@nlohmann.me> * docs: cross-link concept pages and API pages in See also sections Add See also links in both directions between the concept pages (features, home, integration) and the API pages, write API links in code font, give every entry a comment after a dash, and show the callback event figure on the parser callbacks page. Signed-off-by: Niels Lohmann <mail@nlohmann.me> * docs: address review comments on the new design - Home: add a "Latest release" button - Sponsors: update the list and group it by tier - Features: list all feature pages on the index page - Releases: add highlights per release, link the 4.0 roadmap, add the first commit to the timeline - Exceptions: prefix all example messages with the exception name - API: no code font for format names in the See also links of the to_/from_ pages - Merge Patch: show the document before, the patch, and the result - Replace "--" with typographic dashes, mark external links with an icon, center Mermaid diagrams Signed-off-by: Niels Lohmann <mail@nlohmann.me> --------- Signed-off-by: Niels Lohmann <mail@nlohmann.me>
This commit is contained in:
1 parent
2bb2feeef4
commit
a47170346a
417 files changed
+11100
-3041
No files matched your search
@@ -140,8 +140,12 @@ header. See also the [macro overview page](../../features/macros.md).
|
||||
## See also
|
||||
|
||||
- [Macros](../../features/macros.md) - guide to the supported macros
|
||||
- [Runtime assertions](../../features/assertions.md)
|
||||
- [Runtime assertions](../../features/assertions.md) - assertions guarding against undefined behavior
|
||||
- [Arbitrary type conversions](../../features/arbitrary_types.md) - using the `NLOHMANN_DEFINE_TYPE_*` macros
|
||||
- [Enum conversion](../../features/enum_conversion.md) - using `NLOHMANN_JSON_SERIALIZE_ENUM`
|
||||
- [The `nlohmann` namespace](../../features/namespace.md)
|
||||
- [The `nlohmann` namespace](../../features/namespace.md) - how the library's namespace is defined and versioned
|
||||
- [CMake integration](../../integration/cmake.md) - setting macros from the build system
|
||||
- [Integration](../../integration/index.md) - integrate the library and set macros
|
||||
- [Modules](../../features/modules.md) - macros and C++20 modules
|
||||
- [Working Without Exceptions](../../features/no_exceptions.md) - using the library without exceptions
|
||||
- [Architecture](../../home/architecture.md) - how the library is put together
|
||||
@@ -82,6 +82,7 @@ Therefore, assertions can be switched off by defining `NDEBUG`.
|
||||
## See also
|
||||
|
||||
- [Runtime Assertions](../../features/assertions.md) - overview documentation
|
||||
- [Supported Macros](../../features/macros.md) - guide to all supported macros
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -111,8 +111,10 @@ The default value is `0` (disabled — existing behavior is preserved).
|
||||
|
||||
## See also
|
||||
|
||||
- [FAQ: Brace initialization yields arrays](../../home/faq.md#brace-initialization-yields-arrays)
|
||||
- [**basic_json(initializer_list_t)**](../basic_json/basic_json.md) - the affected constructor
|
||||
- [FAQ: Brace initialization yields arrays](../../home/faq.md#brace-initialization-yields-arrays) - why brace
|
||||
initialization may create arrays
|
||||
- [`basic_json(initializer_list_t)`](../basic_json/basic_json.md) - the affected constructor
|
||||
- [Creating JSON values](../../features/creating_values.md) - initializer lists and braces
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -88,6 +88,8 @@ The default value is `0` (disabled, the deprecated functions can still be called
|
||||
deprecated functions and the version they were deprecated in
|
||||
- [Migration guide: replace deprecated functions](../../integration/migration_guide.md#replace-deprecated-functions) -
|
||||
how to replace each deprecated function
|
||||
- [Supported Macros](../../features/macros.md) - guide to all supported macros
|
||||
- [CMake](../../integration/cmake.md) - the corresponding CMake option
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -112,7 +112,8 @@ When the macro is not defined, the library will define it to its default value.
|
||||
## See also
|
||||
|
||||
- [:simple-cmake: JSON_Diagnostic_Positions](../../integration/cmake.md#json_diagnostic_positions) - CMake option to control the macro
|
||||
- [JSON_DIAGNOSTICS](json_diagnostics.md) - macro to control extended diagnostics
|
||||
- [`JSON_DIAGNOSTICS`](json_diagnostics.md) - macro to control extended diagnostics
|
||||
- [Parsing and Exceptions](../../features/parsing/parse_exceptions.md) - handling parse errors and locating them in the input
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -87,7 +87,11 @@ When the macro is not defined, the library will define it to its default value.
|
||||
## See also
|
||||
|
||||
- [:simple-cmake: JSON_Diagnostics](../../integration/cmake.md#json_diagnostics) - CMake option to control the macro
|
||||
- [JSON_DIAGNOSTIC_POSITIONS](json_diagnostic_positions.md) - macro to access positions of elements
|
||||
- [`JSON_DIAGNOSTIC_POSITIONS`](json_diagnostic_positions.md) - macro to access positions of elements
|
||||
- [Supported Macros](../../features/macros.md) - guide to all supported macros
|
||||
- [Exceptions: extended diagnostic messages](../../home/exceptions.md#extended-diagnostic-messages) - how extended diagnostics change the messages
|
||||
- [Debugging](../../home/debugging.md) - debugging aids
|
||||
- [`exception`](../basic_json/exception.md) - base class of all exceptions thrown by the library
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -147,6 +147,7 @@ The default value is `0`.
|
||||
- [:simple-cmake: JSON_DisableEnumSerialization](../../integration/cmake.md#json_disableenumserialization) - CMake option to control
|
||||
the macro
|
||||
- [`NLOHMANN_JSON_SERIALIZE_ENUM`](nlohmann_json_serialize_enum.md) - serialize/deserialize an enum
|
||||
- [Specializing enum conversion](../../features/enum_conversion.md) - map enums to JSON strings instead of integers
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -130,14 +130,16 @@ The default value is `0`: streams are scanned in bulk.
|
||||
|
||||
## See also
|
||||
|
||||
- [**parse**](../basic_json/parse.md) - deserialize from a compatible input
|
||||
- [**operator>>**](../operator_gtgt.md) - deserialize from stream
|
||||
- [**sax_parse**](../basic_json/sax_parse.md) - generate SAX events
|
||||
- [**JSON_PRECISE_STREAM_POSITION**](json_precise_stream_position.md) - leave an input stream positioned right after a
|
||||
- [`parse`](../basic_json/parse.md) - deserialize from a compatible input
|
||||
- [`operator>>`](../operator_gtgt.md) - deserialize from stream
|
||||
- [`sax_parse`](../basic_json/sax_parse.md) - generate SAX events
|
||||
- [`JSON_PRECISE_STREAM_POSITION`](json_precise_stream_position.md) - leave an input stream positioned right after a
|
||||
parsed number
|
||||
- [**JSON_DISABLE_UNLOCKED_FILE_IO**](json_disable_unlocked_file_io.md) - read a `FILE*` with the locking stdio
|
||||
- [`JSON_DISABLE_UNLOCKED_FILE_IO`](json_disable_unlocked_file_io.md) - read a `FILE*` with the locking stdio
|
||||
functions
|
||||
- [Parsing: input sources and performance](../../features/parsing/index.md#input-sources-and-performance)
|
||||
- [Parsing: input sources and performance](../../features/parsing/index.md#input-sources-and-performance) - how input
|
||||
sources affect parsing performance
|
||||
- [Large, Streamed, and Partial Input](../../features/parsing/large_and_partial_input.md) - chunked, concatenated, and very large input
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -105,9 +105,11 @@ The default value is `0` (disabled — existing behavior is preserved).
|
||||
|
||||
## See also
|
||||
|
||||
- [**basic_json(CompatibleType&&)**](../basic_json/basic_json.md) - the affected constructor
|
||||
- [`basic_json(CompatibleType&&)`](../basic_json/basic_json.md) - the affected constructor
|
||||
- [:simple-cmake: JSON_DisableTupleReferenceConversion](../../integration/cmake.md#json_disabletuplereferenceconversion) -
|
||||
CMake option to control the macro
|
||||
- [Converting values](../../features/conversions.md) - getting values out
|
||||
- [Arbitrary Type Conversions](../../features/arbitrary_types.md) - converting your own types
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -104,11 +104,13 @@ The default value is `0`: the file is locked once and read with the unlocked std
|
||||
|
||||
## See also
|
||||
|
||||
- [**parse**](../basic_json/parse.md) - deserialize from a compatible input
|
||||
- [**sax_parse**](../basic_json/sax_parse.md) - generate SAX events
|
||||
- [**JSON_DISABLE_STREAM_BULK_SCAN**](json_disable_stream_bulk_scan.md) - read a `std::istream` one character at a
|
||||
- [`parse`](../basic_json/parse.md) - deserialize from a compatible input
|
||||
- [`sax_parse`](../basic_json/sax_parse.md) - generate SAX events
|
||||
- [`JSON_DISABLE_STREAM_BULK_SCAN`](json_disable_stream_bulk_scan.md) - read a `std::istream` one character at a
|
||||
time
|
||||
- [Parsing: input sources and performance](../../features/parsing/index.md#input-sources-and-performance)
|
||||
- [Parsing: input sources and performance](../../features/parsing/index.md#input-sources-and-performance) - how input
|
||||
sources affect parsing performance
|
||||
- [Large, Streamed, and Partial Input](../../features/parsing/large_and_partial_input.md) - chunked, concatenated, and very large input
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -42,10 +42,11 @@ The default value is detected based on preprocessor macros such as `#!cpp __cplu
|
||||
|
||||
## See also
|
||||
|
||||
- [JSON_HAS_FILESYSTEM / JSON_HAS_EXPERIMENTAL_FILESYSTEM](json_has_filesystem.md) - control `std::filesystem` support
|
||||
- [JSON_HAS_RANGES](json_has_ranges.md) - control `std::ranges` support
|
||||
- [JSON_HAS_THREE_WAY_COMPARISON](json_has_three_way_comparison.md) - control 3-way comparison support
|
||||
- [JSON_HAS_STD_FORMAT](json_has_std_format.md) - control `std::format`/`std::formatter` support
|
||||
- [`JSON_HAS_FILESYSTEM` / `JSON_HAS_EXPERIMENTAL_FILESYSTEM`](json_has_filesystem.md) - control `std::filesystem` support
|
||||
- [`JSON_HAS_RANGES`](json_has_ranges.md) - control `std::ranges` support
|
||||
- [`JSON_HAS_THREE_WAY_COMPARISON`](json_has_three_way_comparison.md) - control 3-way comparison support
|
||||
- [`JSON_HAS_STD_FORMAT`](json_has_std_format.md) - control `std::format`/`std::formatter` support
|
||||
- [Supported Macros](../../features/macros.md) - guide to all supported macros
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -54,8 +54,10 @@ The default value is detected based on the preprocessor macros `#!cpp __cpp_lib_
|
||||
|
||||
## See also
|
||||
|
||||
- [JSON_HAS_CPP_11 / JSON_HAS_CPP_14 / JSON_HAS_CPP_17 / JSON_HAS_CPP_20 / JSON_HAS_CPP_23 /
|
||||
JSON_HAS_CPP_26](json_has_cpp_11.md) - set supported C++ standard
|
||||
- [`JSON_HAS_CPP_11` / `JSON_HAS_CPP_14` / `JSON_HAS_CPP_17` / `JSON_HAS_CPP_20` / `JSON_HAS_CPP_23` /
|
||||
`JSON_HAS_CPP_26`](json_has_cpp_11.md) - set supported C++ standard
|
||||
- [Supported Macros](../../features/macros.md) - guide to all supported macros
|
||||
- [Converting values](../../features/conversions.md) - conversions of values
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ When the macro is not defined, the library will define it to its default value.
|
||||
|
||||
!!! info "Known compiler/stdlib exclusions"
|
||||
|
||||
- **MinGW** -- disabled, because its `std::ranges` support is incomplete ([issue #4916](https://github.com/nlohmann/json/issues/4916)).
|
||||
- **MinGW** — disabled, because its `std::ranges` support is incomplete ([issue #4916](https://github.com/nlohmann/json/issues/4916)).
|
||||
- All toolchains for which [`JSON_HAS_RANGES`](json_has_ranges.md#default-definition) is disabled.
|
||||
|
||||
## Examples
|
||||
@@ -35,7 +35,7 @@ When the macro is not defined, the library will define it to its default value.
|
||||
|
||||
## See also
|
||||
|
||||
- [JSON_HAS_RANGES](json_has_ranges.md) - control `std::ranges` support
|
||||
- [`JSON_HAS_RANGES`](json_has_ranges.md) - control `std::ranges` support
|
||||
- [Constructing from a C++20 range view](../../features/conversions.md#putting-values-in) - usage of the feature
|
||||
|
||||
## Version history
|
||||
|
||||
@@ -42,11 +42,12 @@ When the macro is not defined, the library will define it to its default value.
|
||||
|
||||
## See also
|
||||
|
||||
- [JSON_HAS_CPP_11 / JSON_HAS_CPP_14 / JSON_HAS_CPP_17 / JSON_HAS_CPP_20 / JSON_HAS_CPP_23 /
|
||||
JSON_HAS_CPP_26](json_has_cpp_11.md) - set supported C++ standard
|
||||
- [JSON_HAS_RANGE_VIEW_CONVERSION](json_has_range_view_conversion.md) - control construction from `std::ranges` views
|
||||
- [JSON_HAS_STD_FORMAT](json_has_std_format.md) - a similar feature-detection macro, for `std::format`/`std::formatter`
|
||||
- [`JSON_HAS_CPP_11` / `JSON_HAS_CPP_14` / `JSON_HAS_CPP_17` / `JSON_HAS_CPP_20` / `JSON_HAS_CPP_23` /
|
||||
`JSON_HAS_CPP_26`](json_has_cpp_11.md) - set supported C++ standard
|
||||
- [`JSON_HAS_RANGE_VIEW_CONVERSION`](json_has_range_view_conversion.md) - control construction from `std::ranges` views
|
||||
- [`JSON_HAS_STD_FORMAT`](json_has_std_format.md) - a similar feature-detection macro, for `std::format`/`std::formatter`
|
||||
support
|
||||
- [Supported Macros](../../features/macros.md) - guide to all supported macros
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -28,8 +28,10 @@ When the macro is not defined, the library will define it to its default value.
|
||||
|
||||
## See also
|
||||
|
||||
- [**operator ValueType**](../basic_json/operator_ValueType.md) - get a value (implicit); on C++17, this macro
|
||||
- [`operator ValueType`](../basic_json/operator_ValueType.md) - get a value (implicit); on C++17, this macro
|
||||
controls whether `std::any` is excluded from its candidate types
|
||||
- [Supported Macros](../../features/macros.md) - guide to all supported macros
|
||||
- [Converting values](../../features/conversions.md) - conversions of values
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -39,6 +39,8 @@ When the macro is not defined, the library will define it to its default value.
|
||||
## See also
|
||||
|
||||
- [`std::formatter<basic_json>`](../basic_json/std_formatter.md) - format JSON values with `std::format`
|
||||
- [Supported Macros](../../features/macros.md) - guide to all supported macros
|
||||
- [Serialization](../../features/serialization.md) - serialize values to text
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -29,8 +29,8 @@ When the macro is not defined, the library will define it to its default value.
|
||||
|
||||
## See also
|
||||
|
||||
- [**operator<=>**](../basic_json/operator_spaceship.md) - 3-way compare JSON values
|
||||
- [**operator==**](../json_pointer/operator_eq.md) - compare JSON pointers for equality
|
||||
- [`operator<=>`](../basic_json/operator_spaceship.md) - 3-way compare JSON values
|
||||
- [`operator==`](../json_pointer/operator_eq.md) - compare JSON pointers for equality
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -59,10 +59,11 @@ By default, `#!cpp JSON_NO_AUTOMATIC_UDLS` is not defined, and `<nlohmann/json.h
|
||||
|
||||
## See also
|
||||
|
||||
- [`operator""_json`](../operator_literal_json.md)
|
||||
- [`operator""_json_pointer`](../operator_literal_json_pointer.md)
|
||||
- [`operator""_json`](../operator_literal_json.md) - user-defined string literal for JSON values
|
||||
- [`operator""_json_pointer`](../operator_literal_json_pointer.md) - user-defined string literal for JSON pointers
|
||||
- [`JSON_USE_GLOBAL_UDLS`](json_use_global_udls.md) - place user-defined string literals (UDLs) into the global namespace
|
||||
- [Compile times](../../integration/compile_times.md) - options to reduce compile times
|
||||
- [Creating JSON values](../../features/creating_values.md) - the article on creating JSON values
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -32,8 +32,10 @@ By default, `#!cpp JSON_NO_IO` is not defined.
|
||||
|
||||
## See also
|
||||
|
||||
- [**operator<<**](../operator_ltlt.md) - serialize to stream
|
||||
- [**operator>>**](../operator_gtgt.md) - deserialize from stream
|
||||
- [`operator<<`](../operator_ltlt.md) - serialize to stream
|
||||
- [`operator>>`](../operator_gtgt.md) - deserialize from stream
|
||||
- [Serialization](../../features/serialization.md) - pretty-printing, UTF-8 handling, and number output
|
||||
- [Parsing](../../features/parsing/index.md) - overview of the parsing functions
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -73,12 +73,14 @@ By default, `#!cpp JSON_NO_SIMD` is not defined, and vector instructions are use
|
||||
|
||||
## See also
|
||||
|
||||
- [**parse**](../basic_json/parse.md) - deserialize from a compatible input
|
||||
- [**dump**](../basic_json/dump.md) - serialization
|
||||
- [**JSON_USE_SIMDUTF**](json_use_simdutf.md) - use the simdutf library to accelerate UTF-8 validation
|
||||
- [**JSON_DISABLE_STREAM_BULK_SCAN**](json_disable_stream_bulk_scan.md) - read a `std::istream` one character at a time
|
||||
- [Parsing: input sources and performance](../../features/parsing/index.md#input-sources-and-performance)
|
||||
- [json_view](../../features/json_view.md) - the zero-copy view, whose parser the macro also affects
|
||||
- [`parse`](../basic_json/parse.md) - deserialize from a compatible input
|
||||
- [`dump`](../basic_json/dump.md) - serialization
|
||||
- [`JSON_USE_SIMDUTF`](json_use_simdutf.md) - use the simdutf library to accelerate UTF-8 validation
|
||||
- [`JSON_DISABLE_STREAM_BULK_SCAN`](json_disable_stream_bulk_scan.md) - read a `std::istream` one character at a time
|
||||
- [Parsing: input sources and performance](../../features/parsing/index.md#input-sources-and-performance) - how input
|
||||
sources affect parsing performance
|
||||
- [Serialization](../../features/serialization.md) - pretty-printing, UTF-8 handling, and number output
|
||||
- [Zero-copy JSON views](../../features/json_view.md) - the zero-copy view, whose parser the macro also affects
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -45,7 +45,8 @@ Copying and comparing fall back to working without the call stack there, as they
|
||||
|
||||
## See also
|
||||
|
||||
- [FAQ: Thread safety](../../home/faq.md#thread-safety)
|
||||
- [FAQ: Thread safety](../../home/faq.md#thread-safety) - thread-safety guarantees of the library
|
||||
- [Supported Macros](../../features/macros.md) - guide to all supported macros
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -38,7 +38,12 @@ available for MSVC if exceptions are disabled, see [#2824](https://github.com/nl
|
||||
|
||||
## See also
|
||||
|
||||
- [Switch off exceptions](../../home/exceptions.md#switch-off-exceptions) for more information how to switch off exceptions
|
||||
- [Switch off exceptions](../../home/exceptions.md#switch-off-exceptions) - more information how to switch off
|
||||
exceptions
|
||||
- [Supported Macros](../../features/macros.md) - guide to all supported macros
|
||||
- [Working Without Exceptions](../../features/no_exceptions.md) - using the library without exceptions
|
||||
- [Exceptions](../../home/exceptions.md) - all exceptions and their error codes
|
||||
- [`exception`](../basic_json/exception.md) - base class of all exceptions thrown by the library
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -128,8 +128,9 @@ The default value is `0` (disabled — existing behavior is preserved).
|
||||
|
||||
## See also
|
||||
|
||||
- [**operator>>**](../operator_gtgt.md) - deserialize from stream
|
||||
- [**sax_parse**](../basic_json/sax_parse.md) - generate SAX events
|
||||
- [`operator>>`](../operator_gtgt.md) - deserialize from stream
|
||||
- [`sax_parse`](../basic_json/sax_parse.md) - generate SAX events
|
||||
- [Large, Streamed, and Partial Input](../../features/parsing/large_and_partial_input.md) - chunked, concatenated, and very large input
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -45,8 +45,10 @@ By default, the macro is not defined.
|
||||
|
||||
## See also
|
||||
|
||||
- [NLOHMANN_JSON_VERSION_MAJOR, NLOHMANN_JSON_VERSION_MINOR,
|
||||
NLOHMANN_JSON_VERSION_PATCH](nlohmann_json_version_major.md) - library version information
|
||||
- [`NLOHMANN_JSON_VERSION_MAJOR` / `NLOHMANN_JSON_VERSION_MINOR` /
|
||||
`NLOHMANN_JSON_VERSION_PATCH`](nlohmann_json_version_major.md) - library version information
|
||||
- [Supported Macros](../../features/macros.md) - guide to all supported macros
|
||||
- [Integration](../../integration/index.md) - integrate the library
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -30,8 +30,10 @@ By default, the macro is not defined.
|
||||
|
||||
## See also
|
||||
|
||||
- [JSON_HAS_CPP_11 / JSON_HAS_CPP_14 / JSON_HAS_CPP_17 / JSON_HAS_CPP_20 / JSON_HAS_CPP_23 /
|
||||
JSON_HAS_CPP_26](json_has_cpp_11.md) - set supported C++ standard
|
||||
- [`JSON_HAS_CPP_11` / `JSON_HAS_CPP_14` / `JSON_HAS_CPP_17` / `JSON_HAS_CPP_20` / `JSON_HAS_CPP_23` /
|
||||
`JSON_HAS_CPP_26`](json_has_cpp_11.md) - set supported C++ standard
|
||||
- [Supported Macros](../../features/macros.md) - guide to all supported macros
|
||||
- [Integration](../../integration/index.md) - integrate the library
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -92,11 +92,13 @@ The default value is `0` (disabled, the behavior of version 3.12.0 and earlier i
|
||||
|
||||
## See also
|
||||
|
||||
- [**to_cbor**](../basic_json/to_cbor.md) - create a CBOR serialization of a JSON value
|
||||
- [**to_ubjson**](../basic_json/to_ubjson.md) - create a UBJSON serialization of a JSON value
|
||||
- [**to_bjdata**](../basic_json/to_bjdata.md) - create a BJData serialization of a JSON value
|
||||
- [**to_bson**](../basic_json/to_bson.md) - create a BSON serialization of a JSON value
|
||||
- [**error_handler_t**](../basic_json/error_handler_t.md) - how [`dump`](../basic_json/dump.md) treats ill-formed UTF-8
|
||||
- [Binary formats](../../features/binary_formats/index.md) - overview of the supported binary formats
|
||||
- [`from_cbor`](../basic_json/from_cbor.md) - also affected when parsing CBOR strings
|
||||
- [`to_cbor`](../basic_json/to_cbor.md) - create a CBOR serialization of a JSON value
|
||||
- [`to_ubjson`](../basic_json/to_ubjson.md) - create a UBJSON serialization of a JSON value
|
||||
- [`to_bjdata`](../basic_json/to_bjdata.md) - create a BJData serialization of a JSON value
|
||||
- [`to_bson`](../basic_json/to_bson.md) - create a BSON serialization of a JSON value
|
||||
- [`error_handler_t`](../basic_json/error_handler_t.md) - how [`dump`](../basic_json/dump.md) treats ill-formed UTF-8
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -125,10 +125,11 @@ The default value is `0` (disabled — existing behavior is preserved).
|
||||
## See also
|
||||
|
||||
- [:simple-cmake: JSON_StrictNulHandling](../../integration/cmake.md#json_strictnulhandling) - CMake option to control the macro
|
||||
- [FAQ: NUL bytes in the input](../../home/faq.md#nul-bytes-in-the-input)
|
||||
- [**parse**](../basic_json/parse.md) - deserialize from a compatible input
|
||||
- [**accept**](../basic_json/accept.md) - check if the input is valid JSON
|
||||
- [**operator>>**](../operator_gtgt.md) - deserialize from stream
|
||||
- [FAQ: NUL bytes in the input](../../home/faq.md#nul-bytes-in-the-input) - how NUL bytes in the input are handled
|
||||
- [`parse`](../basic_json/parse.md) - deserialize from a compatible input
|
||||
- [`accept`](../basic_json/accept.md) - check if the input is valid JSON
|
||||
- [`operator>>`](../operator_gtgt.md) - deserialize from stream
|
||||
- [Parsing Untrusted Input](../../features/parsing/untrusted_input.md) - limits and checks for input you do not control
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -69,8 +69,12 @@ replaced by calling [`std::abort`](https://en.cppreference.com/w/cpp/utility/pro
|
||||
|
||||
## See also
|
||||
|
||||
- [Switch off exceptions](../../home/exceptions.md#switch-off-exceptions) for more information how to switch off exceptions
|
||||
- [JSON_NOEXCEPTION](json_noexception.md) - switch off exceptions
|
||||
- [Switch off exceptions](../../home/exceptions.md#switch-off-exceptions) - more information how to switch off
|
||||
exceptions
|
||||
- [`JSON_NOEXCEPTION`](json_noexception.md) - switch off exceptions
|
||||
- [Supported Macros](../../features/macros.md) - guide to all supported macros
|
||||
- [Working Without Exceptions](../../features/no_exceptions.md) - using the library without exceptions
|
||||
- [`exception`](../basic_json/exception.md) - base class of all exceptions thrown by the library
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -97,10 +97,11 @@ When the macro is not defined, the library behaves as if it were defined to its
|
||||
|
||||
## See also
|
||||
|
||||
- [`operator""_json`](../operator_literal_json.md)
|
||||
- [`operator""_json_pointer`](../operator_literal_json_pointer.md)
|
||||
- [`operator""_json`](../operator_literal_json.md) - user-defined string literal for JSON values
|
||||
- [`operator""_json_pointer`](../operator_literal_json_pointer.md) - user-defined string literal for JSON pointers
|
||||
- [`JSON_NO_AUTOMATIC_UDLS`](json_no_automatic_udls.md) - do not include the user-defined string literals automatically
|
||||
- [:simple-cmake: JSON_GlobalUDLs](../../integration/cmake.md#json_globaludls) - CMake option to control the macro
|
||||
- [Creating JSON values](../../features/creating_values.md) - the article on creating JSON values
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -82,9 +82,10 @@ By default, implicit conversions are enabled.
|
||||
|
||||
## See also
|
||||
|
||||
- [**operator ValueType**](../basic_json/operator_ValueType.md) - get a value (implicit)
|
||||
- [**get**](../basic_json/get.md) - get a value (explicit)
|
||||
- [`operator ValueType`](../basic_json/operator_ValueType.md) - get a value (implicit)
|
||||
- [`get`](../basic_json/get.md) - get a value (explicit)
|
||||
- [:simple-cmake: JSON_ImplicitConversions](../../integration/cmake.md#json_implicitconversions) - CMake option to control the macro
|
||||
- [Converting values](../../features/conversions.md) - implicit conversions and how to disable them
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -129,9 +129,9 @@ The default value is `0` (disabled — existing behavior is preserved).
|
||||
|
||||
## See also
|
||||
|
||||
- [Specializing enum conversion](../../features/enum_conversion.md)
|
||||
- [**NLOHMANN_JSON_SERIALIZE_ENUM**](nlohmann_json_serialize_enum.md) - serialize/deserialize an enum
|
||||
- [**NLOHMANN_JSON_SERIALIZE_ENUM_STRICT**](nlohmann_json_serialize_enum_strict.md) - serialize/deserialize an enum with
|
||||
- [Specializing enum conversion](../../features/enum_conversion.md) - serializing enums as JSON strings
|
||||
- [`NLOHMANN_JSON_SERIALIZE_ENUM`](nlohmann_json_serialize_enum.md) - serialize/deserialize an enum
|
||||
- [`NLOHMANN_JSON_SERIALIZE_ENUM_STRICT`](nlohmann_json_serialize_enum_strict.md) - serialize/deserialize an enum with
|
||||
exceptions
|
||||
|
||||
## Version history
|
||||
|
||||
@@ -24,7 +24,7 @@ simdutf library. When it is not defined, no simdutf header is included and there
|
||||
|
||||
simdutf requires C++17 and its header rejects older standards with an `#!cpp #error`. The backend is therefore only
|
||||
compiled in from C++17 on. In C++11 and C++14 the macro has no effect and the scalar validator is used, which
|
||||
accepts and rejects exactly the same input -- only throughput differs. Setting the macro project-wide is therefore
|
||||
accepts and rejects exactly the same input — only throughput differs. Setting the macro project-wide is therefore
|
||||
safe even when some translation units are built with an older standard.
|
||||
|
||||
!!! warning "Define consistently"
|
||||
@@ -73,6 +73,8 @@ By default, `#!cpp JSON_USE_SIMDUTF` is not defined and the portable C++11 scala
|
||||
|
||||
- [:simple-cmake: JSON_TestSimdutf](../../integration/cmake.md#json_testsimdutf) - CMake option to build the unit
|
||||
tests against the simdutf backend
|
||||
- [Parsing](../../features/parsing/index.md) - overview of the parsing functions
|
||||
- [Serialization](../../features/serialization.md) - pretty-printing, UTF-8 handling, and number output
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -181,13 +181,14 @@ void to_json(BasicJsonType& j, const B& b) {
|
||||
|
||||
## See also
|
||||
|
||||
- [NLOHMANN_DEFINE_TYPE_INTRUSIVE / NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT /
|
||||
NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE](nlohmann_define_type_intrusive.md)
|
||||
for similar macros that can be defined _inside_ a non-derived type.
|
||||
- [NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE / NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT /
|
||||
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE](nlohmann_define_type_non_intrusive.md)
|
||||
for similar macros that can be defined _outside_ a non-derived type.
|
||||
- [Arbitrary Type Conversions](../../features/arbitrary_types.md) for an overview.
|
||||
- [`NLOHMANN_DEFINE_TYPE_INTRUSIVE` / `NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT` /
|
||||
`NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE`](nlohmann_define_type_intrusive.md) - similar macros that can be
|
||||
defined _inside_ a non-derived type
|
||||
- [`NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE` / `NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT` /
|
||||
`NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE`](nlohmann_define_type_non_intrusive.md) - similar macros that can
|
||||
be defined _outside_ a non-derived type
|
||||
- [Arbitrary Type Conversions](../../features/arbitrary_types.md) - overview of the supported conversions
|
||||
- [Recipes for Common Types](../../features/type_recipes.md) - class hierarchies
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -177,15 +177,15 @@ See the examples below for the concrete generated code.
|
||||
|
||||
## See also
|
||||
|
||||
- [NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE, NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT,
|
||||
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE](nlohmann_define_type_non_intrusive.md)
|
||||
for a similar macro that can be defined _outside_ the type.
|
||||
- [NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE, NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_WITH_DEFAULT,
|
||||
NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_ONLY_SERIALIZE, NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE,
|
||||
NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_WITH_DEFAULT,
|
||||
NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE](nlohmann_define_derived_type.md) for similar macros for
|
||||
- [`NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE` / `NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT` /
|
||||
`NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE`](nlohmann_define_type_non_intrusive.md) - a similar macro that can
|
||||
be defined _outside_ the type
|
||||
- [`NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE` / `NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_WITH_DEFAULT` /
|
||||
`NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_ONLY_SERIALIZE` / `NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE` /
|
||||
`NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_WITH_DEFAULT` /
|
||||
`NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE`](nlohmann_define_derived_type.md) - similar macros for
|
||||
derived types
|
||||
- [Arbitrary Type Conversions](../../features/arbitrary_types.md) for an overview.
|
||||
- [Arbitrary Type Conversions](../../features/arbitrary_types.md) - overview of the supported conversions
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -176,15 +176,15 @@ See the examples below for the concrete generated code.
|
||||
|
||||
## See also
|
||||
|
||||
- [NLOHMANN_DEFINE_TYPE_INTRUSIVE, NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT,
|
||||
NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE](nlohmann_define_type_intrusive.md)
|
||||
for a similar macro that can be defined _inside_ the type.
|
||||
- [NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE, NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_WITH_DEFAULT,
|
||||
NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_ONLY_SERIALIZE, NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE,
|
||||
NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_WITH_DEFAULT,
|
||||
NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE](nlohmann_define_derived_type.md) for similar macros for
|
||||
- [`NLOHMANN_DEFINE_TYPE_INTRUSIVE` / `NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT` /
|
||||
`NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE`](nlohmann_define_type_intrusive.md) - a similar macro that can be
|
||||
defined _inside_ the type
|
||||
- [`NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE` / `NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_WITH_DEFAULT` /
|
||||
`NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_ONLY_SERIALIZE` / `NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE` /
|
||||
`NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_WITH_DEFAULT` /
|
||||
`NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE`](nlohmann_define_derived_type.md) - similar macros for
|
||||
derived types
|
||||
- [Arbitrary Type Conversions](../../features/arbitrary_types.md) for an overview.
|
||||
- [Arbitrary Type Conversions](../../features/arbitrary_types.md) - overview of the supported conversions
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -75,16 +75,16 @@ For further information please refer to the corresponding macros without `WITH_N
|
||||
|
||||
## See also
|
||||
|
||||
- [NLOHMANN_DEFINE_TYPE_INTRUSIVE, NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT,
|
||||
NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE](nlohmann_define_type_intrusive.md) - the macros these variants add
|
||||
- [`NLOHMANN_DEFINE_TYPE_INTRUSIVE` / `NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT` /
|
||||
`NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE`](nlohmann_define_type_intrusive.md) - the macros these variants add
|
||||
custom JSON key names to
|
||||
- [NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE, NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT,
|
||||
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE](nlohmann_define_type_non_intrusive.md) - the macros these
|
||||
- [`NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE` / `NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT` /
|
||||
`NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE`](nlohmann_define_type_non_intrusive.md) - the macros these
|
||||
variants add custom JSON key names to
|
||||
- [NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE, NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_WITH_DEFAULT,
|
||||
NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_ONLY_SERIALIZE, NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE,
|
||||
NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_WITH_DEFAULT,
|
||||
NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE](nlohmann_define_derived_type.md) - similar macros for
|
||||
- [`NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE` / `NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_WITH_DEFAULT` /
|
||||
`NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_ONLY_SERIALIZE` / `NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE` /
|
||||
`NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_WITH_DEFAULT` /
|
||||
`NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE`](nlohmann_define_derived_type.md) - similar macros for
|
||||
derived types, also available with custom names
|
||||
- [Arbitrary Type Conversions](../../features/arbitrary_types.md) - overview of type conversion mechanisms
|
||||
|
||||
|
||||
@@ -33,8 +33,11 @@ the library.
|
||||
|
||||
## See also
|
||||
|
||||
- [`NLOHMANN_JSON_NAMESPACE_BEGIN, NLOHMANN_JSON_NAMESPACE_END`](nlohmann_json_namespace_begin.md)
|
||||
- [`NLOHMANN_JSON_NAMESPACE_NO_VERSION`](nlohmann_json_namespace_no_version.md)
|
||||
- [`NLOHMANN_JSON_NAMESPACE_BEGIN, NLOHMANN_JSON_NAMESPACE_END`](nlohmann_json_namespace_begin.md) - macros to open and
|
||||
close the library namespace
|
||||
- [`NLOHMANN_JSON_NAMESPACE_NO_VERSION`](nlohmann_json_namespace_no_version.md) - disable the inline versioned namespace
|
||||
- [Supported Macros](../../features/macros.md) - guide to all supported macros
|
||||
- [`nlohmann` Namespace](../../features/namespace.md) - the library namespace
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -52,9 +52,10 @@ When these macros are not defined, the library will define them to their default
|
||||
|
||||
## See also
|
||||
|
||||
- [`nlohmann` Namespace](../../features/namespace.md)
|
||||
- [NLOHMANN_JSON_NAMESPACE](nlohmann_json_namespace.md)
|
||||
- [`NLOHMANN_JSON_NAMESPACE_NO_VERSION`](nlohmann_json_namespace_no_version.md)
|
||||
- [`nlohmann` Namespace](../../features/namespace.md) - how the library's namespace is defined and versioned
|
||||
- [`NLOHMANN_JSON_NAMESPACE`](nlohmann_json_namespace.md) - macro expanding to the library namespace
|
||||
- [`NLOHMANN_JSON_NAMESPACE_NO_VERSION`](nlohmann_json_namespace_no_version.md) - disable the inline versioned namespace
|
||||
- [Supported Macros](../../features/macros.md) - guide to all supported macros
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -36,9 +36,11 @@ When the macro is not defined, the library will define it to its default value.
|
||||
|
||||
## See also
|
||||
|
||||
- [`nlohmann` Namespace](../../features/namespace.md)
|
||||
- [`NLOHMANN_JSON_NAMESPACE`](nlohmann_json_namespace.md)
|
||||
- [`NLOHMANN_JSON_NAMESPACE_BEGIN, NLOHMANN_JSON_NAMESPACE_END`](nlohmann_json_namespace_begin.md)
|
||||
- [`nlohmann` Namespace](../../features/namespace.md) - how the library's namespace is defined and versioned
|
||||
- [`NLOHMANN_JSON_NAMESPACE`](nlohmann_json_namespace.md) - macro expanding to the library namespace
|
||||
- [`NLOHMANN_JSON_NAMESPACE_BEGIN, NLOHMANN_JSON_NAMESPACE_END`](nlohmann_json_namespace_begin.md) - macros to open and
|
||||
close the library namespace
|
||||
- [Supported Macros](../../features/macros.md) - guide to all supported macros
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -86,10 +86,12 @@ inline void from_json(const BasicJsonType& j, type& e);
|
||||
|
||||
## See also
|
||||
|
||||
- [Specializing enum conversion](../../features/enum_conversion.md)
|
||||
- [`NLOHMANN_JSON_SERIALIZE_ENUM_STRICT`](./nlohmann_json_serialize_enum_strict.md)
|
||||
- [`JSON_DISABLE_ENUM_SERIALIZATION`](json_disable_enum_serialization.md)
|
||||
- [`JSON_USE_OBJECTS_FOR_ENUM_KEYED_MAPS`](json_use_objects_for_enum_keyed_maps.md)
|
||||
- [Specializing enum conversion](../../features/enum_conversion.md) - serializing enums as JSON strings
|
||||
- [`NLOHMANN_JSON_SERIALIZE_ENUM_STRICT`](./nlohmann_json_serialize_enum_strict.md) - strict variant that throws on
|
||||
unmapped values
|
||||
- [`JSON_DISABLE_ENUM_SERIALIZATION`](json_disable_enum_serialization.md) - disable the default enum conversion
|
||||
- [`JSON_USE_OBJECTS_FOR_ENUM_KEYED_MAPS`](json_use_objects_for_enum_keyed_maps.md) - serialize maps with enum keys as
|
||||
objects
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -105,10 +105,13 @@ inline void from_json(const BasicJsonType& j, type& e);
|
||||
|
||||
## See also
|
||||
|
||||
- [Specializing enum conversion](../../features/enum_conversion.md)
|
||||
- [`NLOHMANN_JSON_SERIALIZE_ENUM`](./nlohmann_json_serialize_enum.md)
|
||||
- [`JSON_DISABLE_ENUM_SERIALIZATION`](json_disable_enum_serialization.md)
|
||||
- [`JSON_USE_OBJECTS_FOR_ENUM_KEYED_MAPS`](json_use_objects_for_enum_keyed_maps.md)
|
||||
- [Specializing enum conversion](../../features/enum_conversion.md) - serializing enums as JSON strings
|
||||
- [`NLOHMANN_JSON_SERIALIZE_ENUM`](./nlohmann_json_serialize_enum.md) - non-strict variant that uses the first mapping
|
||||
as default
|
||||
- [`JSON_DISABLE_ENUM_SERIALIZATION`](json_disable_enum_serialization.md) - disable the default enum conversion
|
||||
- [`JSON_USE_OBJECTS_FOR_ENUM_KEYED_MAPS`](json_use_objects_for_enum_keyed_maps.md) - serialize maps with enum keys as
|
||||
objects
|
||||
- [Arbitrary Type Conversions](../../features/arbitrary_types.md) - converting your own types
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
@@ -32,8 +32,10 @@ The macros are defined according to the current library version.
|
||||
|
||||
## See also
|
||||
|
||||
- [meta](../basic_json/meta.md) - returns version information on the library
|
||||
- [JSON_SKIP_LIBRARY_VERSION_CHECK](json_skip_library_version_check.md) - skip library version check
|
||||
- [`meta`](../basic_json/meta.md) - returns version information on the library
|
||||
- [`JSON_SKIP_LIBRARY_VERSION_CHECK`](json_skip_library_version_check.md) - skip library version check
|
||||
- [Supported Macros](../../features/macros.md) - guide to all supported macros
|
||||
- [Integration](../../integration/index.md) - integrate the library
|
||||
|
||||
## Version history
|
||||
|
||||
|
||||
Reference in new issue
Block a user