3#include "mc/_HeaderOutputPredefine.h"
7namespace Json {
class Value; }
10namespace JsonHelpers {
14MCNAPI
void addObjectArrayField(
15 ::Json::Value& rootValue,
16 ::std::string
const& fieldName,
17 ::std::vector<::Json::Value>
const& objectArray
20MCNAPI
void addStringArrayField(
21 ::Json::Value& rootValue,
22 ::std::string
const& fieldName,
23 ::std::vector<::std::string>
const& stringArray
26MCNAPI ::std::optional<bool> getAsOptBool(::Json::Value
const& value);
29MCNAPI ::std::string getAsString(::Json::Value
const& value, ::std::string_view defaultString);
32MCNAPI ::std::vector<::std::string> getAsStringArray(::Json::Value
const& value);
34MCNAPI
float getFieldAsFloat(::Json::Value
const& rootValue, ::std::string
const& fieldName,
float defaultFloat);
36MCNAPI
int getFieldAsInt(::Json::Value
const& rootValue, ::std::string
const& fieldName,
int defaultInt);
38MCNAPI ::std::unordered_map<::std::string, ::std::string>
39getFieldAsLocDictionary(::Json::Value
const& rootValue, ::std::string
const& fieldName);
41MCNAPI ::std::unordered_map<::std::string, ::std::string>
42getFieldAsMapOfKeyValuePairs(::Json::Value
const& rootValue, ::std::string
const& fieldName);
44MCNAPI ::std::vector<::std::reference_wrapper<::Json::Value const>>
45getFieldAsObjectArray(::Json::Value
const& rootValue, ::std::string
const& fieldName);
48getFieldAsString(::Json::Value
const& rootValue, ::std::string
const& fieldName, ::std::string
const& defaultString);
50MCNAPI ::std::vector<::std::string>
51getFieldAsStringArray(::Json::Value
const& rootValue, ::std::string
const& fieldName);
54MCNAPI ::std::string serialize(::Json::Value
const& root);
59MCNAPI ::Json::Value
const& EMPTY_JSON();