osrtjson.h File Reference
JSON low-level C encode/decode functions. More...
#include "rtxsrc/osMacros.h"
#include "rtxsrc/osSysTypes.h"
#include "rtxsrc/rtxCommon.h"
#include "rtxsrc/rtxError.h"
#include "rtxsrc/rtxBuffer.h"
#include "rtxsrc/rtxMemory.h"
#include "rtjsonsrc/rtJsonExternDefs.h"
Go to the source code of this file.
Defines | |
#define | OSUPCASE 0x00008000 |
The upper-case flag: if set, hex strings will be encoded in upper case. | |
Functions | |
EXTERNJSON int | rtJsonEncAnyAttr (OSCTXT *pctxt, const OSRTDList *pvalue) |
This function encodes a list of OSAnyAttr attributes in which the name and value are given as a UTF-8 string. | |
EXTERNJSON int | rtJsonEncIntValue (OSCTXT *pctxt, OSINT32 value) |
This function encodes a variable of the XSD integer type. | |
EXTERNJSON int | rtJsonEncInt64Value (OSCTXT *pctxt, OSINT64 value) |
This function encodes a variable of the XSD integer type. | |
EXTERNJSON int | rtJsonEncBase64StrValue (OSCTXT *pctxt, OSUINT32 nocts, const OSOCTET *value) |
This function encodes a variable of the XSD base64Binary type. | |
EXTERNJSON int | rtJsonEncBoolValue (OSCTXT *pctxt, OSBOOL value) |
This function encodes a variable of the XSD boolean type. | |
EXTERNJSON int | rtJsonEncGYear (OSCTXT *pctxt, const OSXSDDateTime *pvalue) |
This function encodes a numeric gYear value into a JSON string representation. | |
EXTERNJSON int | rtJsonEncGYearMonth (OSCTXT *pctxt, const OSXSDDateTime *pvalue) |
This function encodes a numeric gYearMonth value into a JSON string representation. | |
EXTERNJSON int | rtJsonEncGMonth (OSCTXT *pctxt, const OSXSDDateTime *pvalue) |
This function encodes a numeric gMonth value into a JSON string representation. | |
EXTERNJSON int | rtJsonEncGMonthDay (OSCTXT *pctxt, const OSXSDDateTime *pvalue) |
This function encodes a numeric gMonthDay value into a JSON string representation. | |
EXTERNJSON int | rtJsonEncGDay (OSCTXT *pctxt, const OSXSDDateTime *pvalue) |
This function encodes a numeric gDay value into a JSON string representation. | |
EXTERNJSON int | rtJsonEncDate (OSCTXT *pctxt, const OSXSDDateTime *pvalue) |
This function encodes a variable of the XSD 'date' type as a string. | |
EXTERNJSON int | rtJsonEncTime (OSCTXT *pctxt, const OSXSDDateTime *pvalue) |
This function encodes a variable of the XSD 'time' type as a JSON string. | |
EXTERNJSON int | rtJsonEncDateTime (OSCTXT *pctxt, const OSXSDDateTime *pvalue) |
This function encodes a numeric date/time value into a string representation. | |
EXTERNJSON int | rtJsonEncDecimalValue (OSCTXT *pctxt, OSREAL value, const OSDecimalFmt *pFmtSpec) |
This function encodes a value of the XSD decimal type. | |
EXTERNJSON int | rtJsonEncDoubleValue (OSCTXT *pctxt, OSREAL value, const OSDoubleFmt *pFmtSpec) |
This function encodes a value of the XSD double or float type. | |
EXTERNJSON int | rtJsonEncFloatValue (OSCTXT *pctxt, OSREAL value, const OSDoubleFmt *pFmtSpec) |
This function encodes a variable of the XSD float type. | |
EXTERNJSON int | rtJsonEncHexStr (OSCTXT *pctxt, OSSIZE nocts, const OSOCTET *data) |
This function encodes a variable of the XSD hexBinary type. | |
EXTERNJSON int | rtJsonEncBitStrValue (OSCTXT *pctxt, OSUINT32 nbits, const OSOCTET *data) |
This function encodes a variable of the ASN.1 Bit string type. | |
EXTERNJSON int | rtJsonEncIndent (OSCTXT *pctxt) |
This function adds indentation whitespace to the output stream. | |
EXTERNJSON int | rtJsonEncStringObject (OSCTXT *pctxt, const OSUTF8CHAR *name, const OSUTF8CHAR *value) |
This function encodes a JSON object containing a string value. | |
EXTERNJSON int | rtJsonEncStringObject2 (OSCTXT *pctxt, const OSUTF8CHAR *name, size_t nameLen, const OSUTF8CHAR *value, size_t valueLen) |
This function encodes a JSON object containing a string value. | |
EXTERNJSON int | rtJsonEncStringPair (OSCTXT *pctxt, const OSUTF8CHAR *name, const OSUTF8CHAR *value) |
This function encodes a name/value pair. | |
EXTERNJSON int | rtJsonEncStringPair2 (OSCTXT *pctxt, const OSUTF8CHAR *name, size_t nameLen, const OSUTF8CHAR *value, size_t valueLen) |
This function encodes a name/value pair. | |
EXTERNJSON int | rtJsonEncStringValue (OSCTXT *pctxt, const OSUTF8CHAR *value) |
This function encodes a variable of the XSD string type. | |
EXTERNJSON int | rtJsonEncStringValue2 (OSCTXT *pctxt, const OSUTF8CHAR *value, size_t valueLen) |
This function encodes a variable of the XSD string type. | |
EXTERNJSON int | rtJsonEncStringNull (OSCTXT *pctxt) |
This function encodes an asn.1 NULL type as string. | |
EXTERNJSON int | rtJsonEncStringRaw (OSCTXT *pctxt, const OSUTF8CHAR *value) |
This function encodes a raw string without any quotation. | |
EXTERNJSON int | rtJsonEncUnicodeData (OSCTXT *pctxt, const OSUNICHAR *value, OSSIZE nchars) |
This function encodes a variable that contains UCS-2 / UTF-16 characters. | |
EXTERNJSON int | rtJsonEncUCS4Data (OSCTXT *pctxt, const OS32BITCHAR *value, OSSIZE nchars) |
This function encodes a variable that contains UCS-4 / UTF-32 characters. | |
EXTERNJSON int | rtJsonEncUIntValue (OSCTXT *pctxt, OSUINT32 value) |
This function encodes a variable of the XSD unsigned integer type. | |
EXTERNJSON int | rtJsonEncUInt64Value (OSCTXT *pctxt, OSUINT64 value) |
This function encodes a variable of the XSD integer type. | |
EXTERNJSON int | rtJsonEncStartObject (OSCTXT *pctxt, const OSUTF8CHAR *name, OSBOOL noComma) |
This function encodes the beginning of a JSON object. | |
EXTERNJSON int | rtJsonEncEndObject (OSCTXT *pctxt) |
This function encodes the end of a JSON object. | |
EXTERNJSON int | rtJsonEncBetweenObject (OSCTXT *pctxt) |
This function encodes the characters separating the JSON name and value. | |
EXTERNJSON int | rtJsonDecAnyElem (OSCTXT *pctxt, OSUTF8CHAR **ppvalue) |
This function decodes an arbitrary block of JSON-encoded data into a string variable. | |
EXTERNJSON int | rtJsonDecAnyElem2 (OSCTXT *pctxt, OSUTF8CHAR **ppvalue) |
This version of rtJsonDecAnyElem assumes the element name has been pushed on the element name stack in the context. | |
EXTERNJSON int | rtJsonDecAnyType (OSCTXT *pctxt, OSUTF8CHAR **ppvalue) |
This function decodes an arbitrary block of JSON-encoded data into a string variable. | |
EXTERNJSON int | rtJsonDecBase64Str (OSCTXT *pctxt, OSOCTET *pvalue, OSUINT32 *pnocts, size_t bufsize) |
This function decodes a contents of a Base64-encode binary string into a static memory structure. | |
EXTERNJSON int | rtJsonDecDynBase64Str (OSCTXT *pctxt, OSDynOctStr *pvalue) |
This function decodes a contents of a Base64-encode binary string. | |
EXTERNJSON int | rtJsonDecBool (OSCTXT *pctxt, OSBOOL *pvalue) |
This function decodes a variable of the boolean type. | |
EXTERNJSON int | rtJsonDecDate (OSCTXT *pctxt, OSXSDDateTime *pvalue) |
This function decodes a variable of the XSD 'date' type. | |
EXTERNJSON int | rtJsonDecTime (OSCTXT *pctxt, OSXSDDateTime *pvalue) |
This function decodes a variable of the XSD 'time' type. | |
EXTERNJSON int | rtJsonDecDateTime (OSCTXT *pctxt, OSXSDDateTime *pvalue) |
This function decodes a variable of the XSD 'dateTime' type. | |
EXTERNJSON int | rtJsonDecGYear (OSCTXT *pctxt, OSXSDDateTime *pvalue) |
This function decodes a variable of the XSD 'gYear' type. | |
EXTERNJSON int | rtJsonDecGYearMonth (OSCTXT *pctxt, OSXSDDateTime *pvalue) |
This function decodes a variable of the XSD 'gYearMonth' type. | |
EXTERNJSON int | rtJsonDecGMonth (OSCTXT *pctxt, OSXSDDateTime *pvalue) |
This function decodes a variable of the XSD 'gMonth' type. | |
EXTERNJSON int | rtJsonDecGMonthDay (OSCTXT *pctxt, OSXSDDateTime *pvalue) |
This function decodes a variable of the XSD 'gMonthDay' type. | |
EXTERNJSON int | rtJsonDecGDay (OSCTXT *pctxt, OSXSDDateTime *pvalue) |
This function decodes a variable of the XSD 'gDay' type. | |
EXTERNJSON int | rtJsonDecDecimal (OSCTXT *pctxt, OSREAL *pvalue, int totalDigits, int fractionDigits) |
This function decodes the contents of a decimal data type. | |
EXTERNJSON int | rtJsonDecDouble (OSCTXT *pctxt, OSREAL *pvalue) |
This function decodes the contents of a float or double data type. | |
EXTERNJSON int | rtJsonDecHexStr (OSCTXT *pctxt, OSOCTET *pvalue, OSUINT32 *pnocts, size_t bufsize) |
This function decodes the contents of a hexBinary string into a static memory structure. | |
EXTERNJSON int | rtJsonDecDynHexStr (OSCTXT *pctxt, OSDynOctStr *pvalue) |
This function decodes a contents of a hexBinary string. | |
EXTERNJSON int | rtJsonDecDynBitStr (OSCTXT *pctxt, OSUINT32 *nbits, OSOCTET **data) |
This function decodes a variable of the ASN.1 Bit string type. | |
EXTERNJSON int | rtJsonDecBitStrValue (OSCTXT *pctxt, OSUINT32 *nbits, OSOCTET *data, OSSIZE bufsize) |
This function decodes a variable of the ASN.1 Bit string type. | |
EXTERNJSON int | rtJsonDecInt8Value (OSCTXT *pctxt, OSINT8 *pvalue) |
This function decodes the contents of an 8-bit integer data type (i.e. | |
EXTERNJSON int | rtJsonDecInt16Value (OSCTXT *pctxt, OSINT16 *pvalue) |
This function decodes the contents of a 16-bit integer data type. | |
EXTERNJSON int | rtJsonDecInt32Value (OSCTXT *pctxt, OSINT32 *pvalue) |
This function decodes the contents of a 32-bit integer data type. | |
EXTERNJSON int | rtJsonDecInt64Value (OSCTXT *pctxt, OSINT64 *pvalue) |
This function decodes the contents of a 64-bit integer data type. | |
EXTERNJSON int | rtJsonDecUInt8Value (OSCTXT *pctxt, OSUINT8 *pvalue) |
This function decodes the contents of an unsigned 8-bit integer data type (i.e. | |
EXTERNJSON int | rtJsonDecUInt16Value (OSCTXT *pctxt, OSUINT16 *pvalue) |
This function decodes the contents of an unsigned 16-bit integer data type. | |
EXTERNJSON int | rtJsonDecUInt32Value (OSCTXT *pctxt, OSUINT32 *pvalue) |
This function decodes the contents of an unsigned 32-bit integer data type. | |
EXTERNJSON int | rtJsonDecUInt64Value (OSCTXT *pctxt, OSUINT64 *pvalue) |
This function decodes the contents of an unsigned 64-bit integer data type. | |
EXTERNJSON int | rtJsonDecMatchChar (OSCTXT *pctxt, OSUTF8CHAR ch) |
This function parses the next byte and matches it with given character. | |
EXTERNJSON int | rtJsonDecMatchObjectStart (OSCTXT *pctxt, const OSUTF8NameAndLen *nameArray, size_t numNames) |
This function parses the next object start tag that matches with one of the names in the given name array. | |
EXTERNJSON int | rtJsonDecMatchToken (OSCTXT *pctxt, const OSUTF8CHAR *token) |
This function decodes a JSON string and matches with a given token. | |
EXTERNJSON int | rtJsonDecMatchToken2 (OSCTXT *pctxt, const OSUTF8CHAR *token, size_t tokenLen) |
This function decodes a JSON string and matches with a given token. | |
EXTERNJSON int | rtJsonDecNameValuePair (OSCTXT *pctxt, OSUTF8NVP *pvalue) |
This function decodes a name/value pair. | |
EXTERNJSON int | rtJsonDecNumberString (OSCTXT *pctxt, char **ppCharStr) |
This function decodes a JSON number into a character string variable. | |
EXTERNJSON int | rtJsonDecPeekChar (OSCTXT *pctxt, OSUTF8CHAR *pch) |
This function read the next character. | |
EXTERNJSON char | rtJsonDecPeekChar2 (OSCTXT *pctxt) |
This function read the next character. | |
EXTERNJSON int | rtJsonDecStringObject (OSCTXT *pctxt, const OSUTF8CHAR *name, OSUTF8CHAR **ppvalue) |
This function decodes the contents of a JSON object containing a character string. | |
EXTERNJSON int | rtJsonDecStringValue (OSCTXT *pctxt, OSUTF8CHAR **ppvalue) |
This function decodes the contents of a string data type. | |
EXTERNJSON int | rtJsonDecXmlStringValue (OSCTXT *pctxt, OSXMLSTRING *pvalue) |
This function decodes the contents of an XML string data type. | |
EXTERNJSON int | rtJsonDecUCS2String (OSCTXT *pctxt, OSUNICHAR **ppstr, OSSIZE *pnchars) |
This function is used to decode input UTF-8 data into a UCS-2 / UTF-16 character string. | |
EXTERNJSON int | rtJsonDecUCS4String (OSCTXT *pctxt, OS32BITCHAR **ppstr, OSSIZE *pnchars) |
This function is used to decode input UTF-8 data into a UCS-4 / UTF-32 character string. | |
EXTERNJSON size_t | rtJsonGetElemIdx (OSCTXT *pctxt, const OSUTF8NameAndLen nameArray[], size_t nrows) |
This function parses the next start tag and finds the index of the element name in the descriptor table. |
Detailed Description
JSON low-level C encode/decode functions.
Definition in file osrtjson.h.
Define Documentation
#define OSUPCASE 0x00008000 |
The upper-case flag: if set, hex strings will be encoded in upper case.
Definition at line 96 of file osrtjson.h.