JSON support.
Namespaces | |
| namespace | blocking |
| namespace | parser |
| SAX parser tools. | |
Classes | |
| class | Array |
| Non-mutable JSON array representation. More... | |
| class | BadStreamException |
| class | ConversionException |
| Conversion error. More... | |
| class | Exception |
| class | ExceptionWithPath |
| class | Iterator |
Iterator for formats::json::Value More... | |
| class | MemberMissingException |
| class | Object |
| Non-mutable JSON object representation. More... | |
| class | OutOfBoundsException |
| class | ParseException |
| struct | PrettyFormat |
| class | Schema |
| Contains a prepared JSON schema. More... | |
| class | SchemaValidationException |
| class | StringBuilder |
| SAX like builder of JSON string. Use with extreme caution and only in performance critical part of your code. More... | |
| class | TypeMismatchException |
| class | UnknownDiscriminatorException |
| class | Value |
| Non-mutable JSON value representation. More... | |
| class | ValueBuilder |
| Builder for JSON. More... | |
Functions | |
| template<typename... Args> | |
| Value | MakeObject (Args &&...) |
| template<typename... Args> | |
| Value | MakeArray (Args &&...) |
| formats::json::Value | FromString (std::string_view doc) |
| Parse JSON from string. | |
| formats::json::Value | FromStream (std::istream &is) |
| Parse JSON from stream. | |
| void | Serialize (const formats::json::Value &doc, std::ostream &os) |
| Serialize JSON to stream. | |
| std::string | ToString (const formats::json::Value &doc) |
| Serialize JSON to string. | |
| std::string | ToStableString (const formats::json::Value &doc) |
| std::string | ToStableString (formats::json::Value &&doc) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| std::string | ToPrettyString (const formats::json::Value &doc, PrettyFormat format={}) |
Serialize JSON to a string, using \n and indents for objects and arrays. | |
| logging::LogHelper & | operator<< (logging::LogHelper &, const formats::json::Value &) |
| Log JSON. | |
| template<typename T> | |
| std::enable_if_t< std::is_integral< T >::value &&sizeof(T)<=sizeof(int64_t), Value > | Serialize (T value, formats::serialize::To< Value >) |
| json::Value | Serialize (std::chrono::system_clock::time_point tp, formats::serialize::To< Value >) |
| template<typename T> | |
| std::enable_if_t< meta::kIsUniqueMap< T > &&utils::IsStrongTypedefLoggable(T::key_type::kOps), Value > | Serialize (const T &value, formats::serialize::To< Value >) |
| Optimized maps of StrongTypedefs serialization for JSON. | |
| template<typename T> | |
| std::enable_if_t< meta::kIsUniqueMap< T > &&std::is_convertible_v< typename T::key_type, std::string >, Value > | Serialize (const T &value, formats::serialize::To< Value >) |
| Optimized maps serialization for JSON. | |
| bool | operator== (const Array &lhs, const Array &rhs) |
| Compares values. | |
| bool | operator== (const Array &lhs, const Value &rhs) |
| bool | operator== (const Value &lhs, const Array &rhs) |
| bool | operator!= (const Array &lhs, const Array &rhs) |
| bool | operator!= (const Array &lhs, const Value &rhs) |
| bool | operator!= (const Value &lhs, const Array &rhs) |
| Array | Parse (const Value &value, parse::To< Array >) |
| Value | Serialize (const Array &array, formats::serialize::To< Value >) |
| Value | Serialize (Array &&array, formats::serialize::To< Value >) |
| bool | operator== (const Object &lhs, const Object &rhs) |
| Compares values. | |
| bool | operator== (const Object &lhs, const Value &rhs) |
| bool | operator== (const Value &lhs, const Object &rhs) |
| bool | operator!= (const Object &lhs, const Object &rhs) |
| bool | operator!= (const Object &lhs, const Value &rhs) |
| bool | operator!= (const Value &lhs, const Object &rhs) |
| Object | Parse (const Value &value, parse::To< Object >) |
| Value | Serialize (const Object &object, formats::serialize::To< Value >) |
| Value | Serialize (Object &&object, formats::serialize::To< Value >) |
| void | WriteToStream (bool value, StringBuilder &sw) |
| void | WriteToStream (long long value, StringBuilder &sw) |
| void | WriteToStream (unsigned long long value, StringBuilder &sw) |
| void | WriteToStream (int value, StringBuilder &sw) |
| void | WriteToStream (unsigned value, StringBuilder &sw) |
| void | WriteToStream (long value, StringBuilder &sw) |
| void | WriteToStream (unsigned long value, StringBuilder &sw) |
| void | WriteToStream (double value, StringBuilder &sw) |
| void | WriteToStream (const char *value, StringBuilder &sw) |
| void | WriteToStream (std::string_view value, StringBuilder &sw) |
| void | WriteToStream (const formats::json::Value &value, StringBuilder &sw) |
| void | WriteToStream (const std::string &value, StringBuilder &sw) |
| void | WriteToStream (std::chrono::system_clock::time_point tp, StringBuilder &sw) |
| bool | Parse (const Value &value, parse::To< bool >) |
| std::int64_t | Parse (const Value &value, parse::To< std::int64_t >) |
| std::uint64_t | Parse (const Value &value, parse::To< std::uint64_t >) |
| double | Parse (const Value &value, parse::To< double >) |
| std::string | Parse (const Value &value, parse::To< std::string >) |
| template<> | |
| std::string | Value::ConvertTo< std::string > () const |
| Value | Parse (const Value &value, parse::To< Value >) |
| std::chrono::microseconds | Parse (const Value &value, parse::To< std::chrono::microseconds >) |
| std::chrono::milliseconds | Parse (const Value &value, parse::To< std::chrono::milliseconds >) |
| std::chrono::minutes | Parse (const Value &value, parse::To< std::chrono::minutes >) |
| std::chrono::hours | Parse (const Value &value, parse::To< std::chrono::hours >) |
| void | PrintTo (const Value &, std::ostream *) |
| gtest formatter for formats::json::Value | |
| template<typename Value> | |
| ItemsWrapper< Value > | Items (Value &&value) |
| Wrapper for handy python-like iteration over a map. | |
Variables | |
| constexpr std::size_t | kDepthParseLimit = 128 |
Definition at line 99 of file object.hpp.
Definition at line 100 of file object.hpp.
Definition at line 101 of file object.hpp.
Compares values.
Definition at line 96 of file object.hpp.
Definition at line 97 of file object.hpp.
Definition at line 98 of file object.hpp.
Definition at line 103 of file object.hpp.
|
inline |
|
inline |
|
inline |
Definition at line 105 of file object.hpp.
| std::enable_if_t< meta::kIsUniqueMap< T > &&utils::IsStrongTypedefLoggable(T::key_type::kOps), Value > formats::json::Serialize | ( | const T & | value, |
| formats::serialize::To< Value > | ) |
Optimized maps of StrongTypedefs serialization for JSON.
Definition at line 244 of file value_builder.hpp.
| std::enable_if_t< meta::kIsUniqueMap< T > &&std::is_convertible_v< typename T::key_type, std::string >, Value > formats::json::Serialize | ( | const T & | value, |
| formats::serialize::To< Value > | ) |
Optimized maps serialization for JSON.
Definition at line 255 of file value_builder.hpp.
|
inline |
Definition at line 107 of file object.hpp.
| std::enable_if_t< std::is_integral< T >::value &&sizeof(T)<=sizeof(int64_t), Value > formats::json::Serialize | ( | T | value, |
| formats::serialize::To< Value > | ) |
Definition at line 229 of file value_builder.hpp.
| std::string formats::json::ToStableString | ( | const formats::json::Value & | doc | ) |
Stably serialize JSON to string. In result there is no whitespace, keys are sorted and character escaping is stabilized
|
inlineconstexpr |
Definition at line 25 of file serialize.hpp.