<dmsdk/dlib/json.h>
API for platform independent parsing of json files
deallocates json document
Deallocates a previously created dmJson::Document
document -
dmJson::Document* The document
parse json data
Parses an (utf-8) string into a dmJson::Document The document must later be freed with dmJson::Free()
buffer -
const char* The input data (Utf-8)
buffer_length -
uint32_t The size of the json buffer (in bytes)
document -
dmJson::Document* The output document
dmJson::RESULT_OK -
on success
parse json data
Parses a null terminated (utf-8) string into a dmJson::Document The document must later be freed with dmJson::Free()
buffer -
const char* The input data (Utf-8)
document -
dmJson::Document* The output document
dmJson::RESULT_OK -
on success
Json document
Holds a full json document
m_Nodes -
dmJson::Node Array of nodes. First node is root
m_NodeCount -
int Total number of nodes
m_Json -
char* Json-data (unescaped)
m_UserData -
void* User-data
Json node representation.
Nodes are in depth-first order with sibling links for simplified traversal.
NOTE: Siblings were added to support a read-only lua-view of json-data. It's currently not used and could potentially be removed for increased performance.
m_Type -
dmJson::Type Node type
m_Start -
int Start index inclusive into document json-data
m_End -
int End index exclusive into document json-data
m_Size -
int Size. Only applicable for arrays and objects
m_Sibling -
int Sibling index. -1 if no sibling
result enumeration
Result enumeration.
dmJson::RESULT_OK -
dmJson::RESULT_SYNTAX_ERROR -
dmJson::RESULT_INCOMPLETE -
dmJson::RESULT_UNKNOWN -
token type enumeration
Token type enumeration.
dmJson::TYPE_PRIMITIVE -
Number or boolean
dmJson::TYPE_OBJECT -
Json object
dmJson::TYPE_ARRAY -
Json array
dmJson::TYPE_STRING -
String