userver: formats::json Namespace Reference
Loading...
Searching...
No Matches
formats::json Namespace Reference

JSON support. More...

Namespaces

namespace  blocking
 
namespace  parser
 SAX parser tools.
 

Classes

class  BadStreamException
 
class  ConversionException
 Conversion error. More...
 
class  Exception
 
class  Iterator
 Iterator for formats::json::Value More...
 
class  MemberMissingException
 
class  OutOfBoundsException
 
class  ParseException
 
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  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)
 
logging::LogHelperoperator<< (logging::LogHelper &, const formats::json::Value &)
 Log JSON.
 
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)
 
template<>
std::string Value::As< std::string > () const
 
template<>
std::string Value::ConvertTo< std::string > () const
 
Value Parse (const Value &value, parse::To< Value >)
 
template<typename T >
std::enable_if_t< meta::kIsUniqueMap< T > &&utils::IsStrongTypedefLoggable(T::key_type::kOps), ValueSerialize (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 >, ValueSerialize (const T &value, formats::serialize::To< Value >)
 Optimized maps serialization for JSON.
 
void PrintTo (const Value &, std::ostream *)
 

Detailed Description

JSON support.

Function Documentation

◆ Parse()

Value formats::json::Parse ( const Value value,
parse::To< Value  
)
inline

Definition at line 395 of file value.hpp.

◆ Serialize() [1/2]

template<typename T >
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 235 of file value_builder.hpp.

◆ Serialize() [2/2]

template<typename T >
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 248 of file value_builder.hpp.

◆ ToStableString()

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