diff --git a/include/nlohmann/detail/output/binary_writer.hpp b/include/nlohmann/detail/output/binary_writer.hpp index 3bac0227..580bc2e5 100644 --- a/include/nlohmann/detail/output/binary_writer.hpp +++ b/include/nlohmann/detail/output/binary_writer.hpp @@ -279,6 +279,12 @@ class binary_writer case value_t::binary: { + if (j.m_value.binary->has_subtype()) + { + write_number(static_cast(0xd8)); + write_number(j.m_value.binary->subtype()); + } + // step 1: write control byte and the binary array size const auto N = j.m_value.binary->size(); if (N <= 0x17) diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 7ab24c84..9269df1a 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -12641,6 +12641,12 @@ class binary_writer case value_t::binary: { + if (j.m_value.binary->has_subtype()) + { + write_number(static_cast(0xd8)); + write_number(j.m_value.binary->subtype()); + } + // step 1: write control byte and the binary array size const auto N = j.m_value.binary->size(); if (N <= 0x17)