2 #ifndef _YI_RAPID_JSON_UTILITY_H_ 3 #define _YI_RAPID_JSON_UTILITY_H_ 8 #include <rapidjson/document.h> 76 static bool GetLongField(
const yi::rapidjson::Value *pValue,
const char *pFieldName, int64_t *pFieldData,
CYIParsingError &rParsingError);
102 static bool GetFloatField(
const yi::rapidjson::Value *pValue,
const char *pFieldName,
float *pFieldData,
CYIParsingError &rParsingError);
117 static bool IsNullField(
const yi::rapidjson::Value *pValue,
const char *pFieldName,
bool *pbFieldIsNull,
CYIParsingError &rParsingError);
132 static bool AddLongField(yi::rapidjson::Document *pDocument,
const CYIString &rFieldName, int64_t nValue);
147 static bool AddObjectField(yi::rapidjson::Document *pDocument,
const CYIString &rFieldName, yi::rapidjson::Value &rValue);
static bool AddIntegerField(yi::rapidjson::Document *pDocument, const CYIString &rFieldName, int32_t nValue)
static bool AddStringField(yi::rapidjson::Document *pDocument, const CYIString &rFieldName, const CYIString &rValue)
static bool GetBooleanField(const yi::rapidjson::Value *pValue, const char *pFieldName, bool *pFieldData, CYIParsingError &rParsingError)
static bool AddBooleanField(yi::rapidjson::Document *pDocument, const CYIString &rFieldName, bool bValue)
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
static bool GetUnsignedLongField(const yi::rapidjson::Value *pValue, const char *pFieldName, uint64_t *pFieldData, CYIParsingError &rParsingError)
static bool GetStringField(const yi::rapidjson::Value *pValue, const char *pFieldName, CYIString &rFieldData, CYIParsingError &rParsingError)
static std::unique_ptr< yi::rapidjson::Document > CreateDocumentFromString(const CYIString &rJsonString, CYIParsingError &rParsingError)
static std::unique_ptr< yi::rapidjson::Document > CreateDocumentFromFile(const CYIString &rFilePath, CYIParsingError &rParsingError)
static bool GetLongField(const yi::rapidjson::Value *pValue, const char *pFieldName, int64_t *pFieldData, CYIParsingError &rParsingError)
static bool AddUnsignedLongField(yi::rapidjson::Document *pDocument, const CYIString &rField, uint64_t uValue)
static CYIString CreateStringFromDocument(const yi::rapidjson::Document &rDocument)
A class to store errors in the parsing of encoded data, such as JSON or XML.
Definition: YiParsingError.h:15
static bool IsNullField(const yi::rapidjson::Value *pValue, const char *pFieldName, bool *pbFieldIsNull, CYIParsingError &rParsingError)
static bool GetIntegerField(const yi::rapidjson::Value *pValue, const char *pFieldName, int32_t *pFieldData, CYIParsingError &rParsingError)
static bool AddObjectField(yi::rapidjson::Document *pDocument, const CYIString &rFieldName, yi::rapidjson::Value &rValue)
static bool AddFloatField(yi::rapidjson::Document *pDocument, const CYIString &rFieldName, float fValue)
static bool GetDateField(const yi::rapidjson::Value *pValue, const char *pFieldName, CYIDateTime &rFieldData, CYIParsingError &rParsingError)
Utility class that requires a string as per the following format: http://en.wikipedia.org/wiki/ISO_8601 to construct an instance and provides some commmonly used parts like year, month, hour etc. in different data types and formats. All dates are in the local timezone unless otherwise specified.
Definition: YiDateTime.h:17
virtual ~CYIRapidJSONUtility()
static bool GetFloatField(const yi::rapidjson::Value *pValue, const char *pFieldName, float *pFieldData, CYIParsingError &rParsingError)
A front-end utility class aimed to simplify the use of RapidJSON tools.
Definition: YiRapidJSONUtility.h:21
static bool AddLongField(yi::rapidjson::Document *pDocument, const CYIString &rFieldName, int64_t nValue)