Conscience Core
Namespaces | Classes | Typedefs | Functions | Variables
conscience_utils::JSON Namespace Reference

Namespaces

 typing_helper
 

Classes

class  CscJsonObject
 
class  CscJsonObjectReader
 
class  CscJsonParser
 
struct  JsonArrayBox
 
struct  JsonObjectBox
 
struct  JsonSerializableData
 
class  MissingRequiredPropertyException
 

Typedefs

using JsonArray = std::vector< JsonSerializableData >
 
using JsonObject = std::map< std::string, JsonSerializableData >
 
using JsonValue = std::variant< JSON_BASE_TYPES, JsonArrayBox, JsonObjectBox >
 

Functions

string toJsonPointer (const string &propertyPath)
 
string mapToJson (const map< string, JsonSerializableData > &map, bool noNewLines)
 
string mapToJson (std::initializer_list< JsonObject::value_type > init, bool noNewLines)
 
string stringToJsonString (const string &s)
 
string jsonSerializableDataToString (JsonSerializableData data)
 
string vectorToJson (const vector< JsonSerializableData > &list, bool noNewLines)
 
string pairsToJson (const vector< pair< string, JsonSerializableData >> &entries, bool noNewLines)
 
template<class TValue >
JsonSerializableData vectorToJsonSerializable (const vector< TValue > &theVector)
 
map< string, JsonSerializableDatamapToJsonSerializable (std::initializer_list< map< string, JsonSerializableData >::value_type > init)
 
template<class TValue >
map< string, JsonSerializableDatamapToJsonSerializable (const map< string, TValue > &theMap)
 
template<class T >
getNumericValueFromJson (yyjson_val *jsonValue)
 
template<IsString T>
yyjson_mut_val * toJsonValue (const T &value, yyjson_mut_doc *doc)
 
yyjson_mut_val * mapToJsonObject (const map< string, string > &map, yyjson_mut_doc *doc)
 
template<IsNotString T>
yyjson_mut_val * toJsonValue (T &value, yyjson_mut_doc *doc)
 
template<class T >
yyjson_mut_val * toJsonValue (const vector< T > &valueList, yyjson_mut_doc *doc, bool clone=false)
 

Variables

template<class T >
concept IsString = std::is_same_v<T, string>
 
template<class T >
concept IsNotString = !IsString<T>
 

Typedef Documentation

◆ JsonArray

◆ JsonObject

using conscience_utils::JSON::JsonObject = typedef std::map<std::string, JsonSerializableData>

◆ JsonValue

Function Documentation

◆ getNumericValueFromJson()

template<class T >
T conscience_utils::JSON::getNumericValueFromJson ( yyjson_val *  jsonValue)

◆ jsonSerializableDataToString()

string conscience_utils::JSON::jsonSerializableDataToString ( JsonSerializableData  data)

◆ mapToJson() [1/2]

string conscience_utils::JSON::mapToJson ( const map< string, JsonSerializableData > &  map,
bool  noNewLines 
)

◆ mapToJson() [2/2]

string conscience_utils::JSON::mapToJson ( std::initializer_list< JsonObject::value_type >  init,
bool  noNewLines 
)

◆ mapToJsonObject()

yyjson_mut_val* conscience_utils::JSON::mapToJsonObject ( const map< string, string > &  map,
yyjson_mut_doc *  doc 
)
inline

◆ mapToJsonSerializable() [1/2]

template<class TValue >
map<string, JsonSerializableData> conscience_utils::JSON::mapToJsonSerializable ( const map< string, TValue > &  theMap)

◆ mapToJsonSerializable() [2/2]

map<string, JsonSerializableData> conscience_utils::JSON::mapToJsonSerializable ( std::initializer_list< map< string, JsonSerializableData >::value_type >  init)
inline

◆ pairsToJson()

string conscience_utils::JSON::pairsToJson ( const vector< pair< string, JsonSerializableData >> &  entries,
bool  noNewLines 
)

◆ stringToJsonString()

string conscience_utils::JSON::stringToJsonString ( const string &  s)
inline

◆ toJsonPointer()

string conscience_utils::JSON::toJsonPointer ( const string &  propertyPath)
inline

◆ toJsonValue() [1/3]

template<IsString T>
yyjson_mut_val * conscience_utils::JSON::toJsonValue ( const T &  value,
yyjson_mut_doc *  doc 
)

◆ toJsonValue() [2/3]

template<class T >
yyjson_mut_val* conscience_utils::JSON::toJsonValue ( const vector< T > &  valueList,
yyjson_mut_doc *  doc,
bool  clone = false 
)

◆ toJsonValue() [3/3]

template<IsNotString T>
yyjson_mut_val* conscience_utils::JSON::toJsonValue ( T &  value,
yyjson_mut_doc *  doc 
)

◆ vectorToJson()

string conscience_utils::JSON::vectorToJson ( const vector< JsonSerializableData > &  list,
bool  noNewLines 
)

◆ vectorToJsonSerializable()

template<class TValue >
JsonSerializableData conscience_utils::JSON::vectorToJsonSerializable ( const vector< TValue > &  theVector)

Variable Documentation

◆ IsNotString

template<class T >
concept conscience_utils::JSON::IsNotString = !IsString<T>

◆ IsString

template<class T >
concept conscience_utils::JSON::IsString = std::is_same_v<T, string>