Robotran C Documentation
Classes | Macros | Enumerations | Functions
json.h File Reference
#include <stdbool.h>
#include <stddef.h>

Go to the source code of this file.

Classes

struct  JsonNode
 

Macros

#define EXTERNC
 
#define json_foreach(i, object_or_array)
 

Enumerations

enum  JsonTag {
  JSON_NULL, JSON_BOOL, JSON_STRING, JSON_NUMBER,
  JSON_ARRAY, JSON_OBJECT
}
 

Functions

EXTERNC JsonNodejson_mknull (void)
 
EXTERNC JsonNodejson_decode (const char *json)
 
EXTERNC bool json_validate (const char *json)
 
char * json_encode (const JsonNode *node)
 
char * json_encode_string (const char *str)
 
char * json_stringify (const JsonNode *node, const char *space)
 
EXTERNC void json_delete (JsonNode *node)
 
EXTERNC JsonNodejson_find_element (JsonNode *array, int index)
 
EXTERNC JsonNodejson_find_member (JsonNode *object, const char *key)
 
EXTERNC JsonNodejson_first_child (const JsonNode *node)
 
EXTERNC bool json_check (const JsonNode *node, char errmsg[256])
 
JsonNodejson_mkbool (bool b)
 
JsonNodejson_mkstring (const char *s)
 
JsonNodejson_mknumber (double n)
 
JsonNodejson_mkarray (void)
 
JsonNodejson_mkobject (void)
 
void json_append_element (JsonNode *array, JsonNode *element)
 
void json_prepend_element (JsonNode *array, JsonNode *element)
 
void json_append_member (JsonNode *object, const char *key, JsonNode *value)
 
void json_prepend_member (JsonNode *object, const char *key, JsonNode *value)
 
void json_remove_from_parent (JsonNode *node)
 

Macro Definition Documentation

◆ EXTERNC

#define EXTERNC

◆ json_foreach

#define json_foreach (   i,
  object_or_array 
)
Value:
for ((i) = json_first_child(object_or_array); \
(i) != NULL; \
(i) = (i)->next)

Enumeration Type Documentation

◆ JsonTag

enum JsonTag
Enumerator
JSON_NULL 
JSON_BOOL 
JSON_STRING 
JSON_NUMBER 
JSON_ARRAY 
JSON_OBJECT 

Function Documentation

◆ json_append_element()

void json_append_element ( JsonNode array,
JsonNode element 
)

◆ json_append_member()

void json_append_member ( JsonNode object,
const char *  key,
JsonNode value 
)

◆ json_check()

EXTERNC bool json_check ( const JsonNode node,
char  errmsg[256] 
)

◆ json_decode()

EXTERNC JsonNode* json_decode ( const char *  json)

◆ json_delete()

EXTERNC void json_delete ( JsonNode node)

◆ json_encode()

char* json_encode ( const JsonNode node)

◆ json_encode_string()

char* json_encode_string ( const char *  str)

◆ json_find_element()

EXTERNC JsonNode* json_find_element ( JsonNode array,
int  index 
)

◆ json_find_member()

EXTERNC JsonNode* json_find_member ( JsonNode object,
const char *  key 
)

◆ json_first_child()

EXTERNC JsonNode* json_first_child ( const JsonNode node)

◆ json_mkarray()

JsonNode* json_mkarray ( void  )

◆ json_mkbool()

JsonNode* json_mkbool ( bool  b)

◆ json_mknull()

EXTERNC JsonNode* json_mknull ( void  )

◆ json_mknumber()

JsonNode* json_mknumber ( double  n)

◆ json_mkobject()

JsonNode* json_mkobject ( void  )

◆ json_mkstring()

JsonNode* json_mkstring ( const char *  s)

◆ json_prepend_element()

void json_prepend_element ( JsonNode array,
JsonNode element 
)

◆ json_prepend_member()

void json_prepend_member ( JsonNode object,
const char *  key,
JsonNode value 
)

◆ json_remove_from_parent()

void json_remove_from_parent ( JsonNode node)

◆ json_stringify()

char* json_stringify ( const JsonNode node,
const char *  space 
)

◆ json_validate()

EXTERNC bool json_validate ( const char *  json)
json_first_child
EXTERNC JsonNode * json_first_child(const JsonNode *node)
Definition: json.cc:478
JsonNode::next
JsonNode * next
Definition: json.h:45