Defines | Typedefs | Enumerations | Functions | Variables
json_object.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define FALSE   ((boolean)0)
#define JSON_OBJECT_DEF_HASH_ENTIRES   16
#define json_object_object_foreach(obj, key, val)
#define json_object_object_foreachC(obj, iter)   for(iter.entry = json_object_get_object(obj)->head; (iter.entry ? (iter.key = (char*)iter.entry->k, iter.val = (struct json_object*)iter.entry->v, iter.entry) : 0); iter.entry = iter.entry->next)
#define TRUE   ((boolean)1)

Typedefs

typedef int boolean

Enumerations

enum  json_type {
  json_type_null, json_type_boolean, json_type_double, json_type_int,
  json_type_object, json_type_array, json_type_string
}

Functions

int json_object_array_add (struct json_object *obj, struct json_object *val)
struct json_objectjson_object_array_get_idx (struct json_object *obj, int idx)
int json_object_array_length (struct json_object *obj)
int json_object_array_put_idx (struct json_object *obj, int idx, struct json_object *val)
struct json_objectjson_object_get (struct json_object *obj)
struct array_listjson_object_get_array (struct json_object *obj)
boolean json_object_get_boolean (struct json_object *obj)
double json_object_get_double (struct json_object *obj)
int json_object_get_int (struct json_object *obj)
struct lh_tablejson_object_get_object (struct json_object *obj)
char * json_object_get_string (struct json_object *obj)
enum json_type json_object_get_type (struct json_object *obj)
int json_object_is_type (struct json_object *obj, int type)
struct json_objectjson_object_new_array (void)
struct json_objectjson_object_new_boolean (boolean b)
struct json_objectjson_object_new_double (double d)
struct json_objectjson_object_new_int (int i)
struct json_objectjson_object_new_object (void)
struct json_objectjson_object_new_string (const char *s)
struct json_objectjson_object_new_string_len (const char *s, int len)
void json_object_object_add (struct json_object *obj, const char *key, struct json_object *val)
void json_object_object_del (struct json_object *obj, const char *key)
struct json_objectjson_object_object_get (struct json_object *obj, const char *key)
void json_object_put (struct json_object *obj)
const char * json_object_to_json_string (struct json_object *obj)
void json_set_float_format (const char *f)

Variables

const char * json_hex_chars
const char * json_number_chars

Define Documentation

#define FALSE   ((boolean)0)

Definition at line 18 of file json_object.h.

Definition at line 15 of file json_object.h.

#define json_object_object_foreach (   obj,
  key,
  val 
)
Value:
char *key; struct json_object *val; struct lh_entry *entry; \
 for(entry = json_object_get_object(obj)->head; (entry ? (key = (char*)entry->k, val = (struct json_object*)entry->v, entry) : 0); entry = entry->next)

Iterate through all keys and values of an object

Parameters:
objthe json_object instance
keythe local name for the char* key variable defined in the body
valthe local name for the json_object* object variable defined in the body

Definition at line 155 of file json_object.h.

#define json_object_object_foreachC (   obj,
  iter 
)    for(iter.entry = json_object_get_object(obj)->head; (iter.entry ? (iter.key = (char*)iter.entry->k, iter.val = (struct json_object*)iter.entry->v, iter.entry) : 0); iter.entry = iter.entry->next)

Iterate through all keys and values of an object (ANSI C Safe)

Parameters:
objthe json_object instance
iterthe object iterator

Definition at line 165 of file json_object.h.

#define TRUE   ((boolean)1)

Definition at line 21 of file json_object.h.


Typedef Documentation

typedef int boolean

Definition at line 28 of file json_object.h.


Enumeration Type Documentation

enum json_type
Enumerator:
json_type_null 
json_type_boolean 
json_type_double 
json_type_int 
json_type_object 
json_type_array 
json_type_string 

Definition at line 37 of file json_object.h.


Function Documentation

int json_object_array_add ( struct json_object obj,
struct json_object val 
)

Add an element to the end of a json_object of type json_type_array

The reference count will *not* be incremented. This is to make adding fields to objects in code more compact. If you want to retain a reference to an added object you must wrap the passed object with json_object_get

Parameters:
objthe json_object instance
valthe json_object to be added

Definition at line 522 of file json_object.c.

struct json_object* json_object_array_get_idx ( struct json_object obj,
int  idx 
) [read]

Get the element at specificed index of the array (a json_object of type json_type_array)

Parameters:
objthe json_object instance
idxthe index to get the element at
Returns:
the json_object at the specified index (or NULL)

Definition at line 535 of file json_object.c.

int json_object_array_length ( struct json_object obj)

Get the length of a json_object of type json_type_array

Parameters:
objthe json_object instance
Returns:
an int

Definition at line 516 of file json_object.c.

int json_object_array_put_idx ( struct json_object obj,
int  idx,
struct json_object val 
)

Insert or replace an element at a specified index in an array (a json_object of type json_type_array)

The reference count will *not* be incremented. This is to make adding fields to objects in code more compact. If you want to retain a reference to an added object you must wrap the passed object with json_object_get

The reference count of a replaced object will be decremented.

The array size will be automatically be expanded to the size of the index if the index is larger than the current size.

Parameters:
objthe json_object instance
idxthe index to insert the element at
valthe json_object to be added

Definition at line 528 of file json_object.c.

struct json_object* json_object_get ( struct json_object obj) [read]

Increment the reference count of json_object

Parameters:
objthe json_object instance

Definition at line 136 of file json_object.c.

struct array_list* json_object_get_array ( struct json_object obj) [read]

Get the arraylist of a json_object of type json_type_array

Parameters:
objthe json_object instance
Returns:
an arraylist

Definition at line 505 of file json_object.c.

Get the boolean value of a json_object

The type is coerced to a boolean if the passed object is not a boolean. integer and double objects will return FALSE if there value is zero or TRUE otherwise. If the passed object is a string it will return TRUE if it has a non zero length. If any other object type is passed TRUE will be returned if the object is not NULL.

Parameters:
objthe json_object instance
Returns:
a boolean

Definition at line 306 of file json_object.c.

double json_object_get_double ( struct json_object obj)

Get the double value of a json_object

The type is coerced to a double if the passed object is not a double. integer objects will return their dboule conversion. Strings will be parsed as a double. If no conversion exists then 0.0 is returned.

Parameters:
objthe json_object instance
Returns:
an double

Definition at line 395 of file json_object.c.

int json_object_get_int ( struct json_object obj)

Get the int value of a json_object

The type is coerced to a int if the passed object is not a int. double objects will return their integer conversion. Strings will be parsed as an integer. If no conversion exists then 0 is returned.

Parameters:
objthe json_object instance
Returns:
an int

Definition at line 341 of file json_object.c.

struct lh_table* json_object_get_object ( struct json_object obj) [read]

Get the hashtable of a json_object of type json_type_object

Parameters:
objthe json_object instance
Returns:
a linkhash

Definition at line 259 of file json_object.c.

char* json_object_get_string ( struct json_object obj)

Get the string value of a json_object

If the passed object is not of type json_type_string then the JSON representation of the object is returned.

The returned string memory is managed by the json_object and will be freed when the reference count of the json_object drops to zero.

Parameters:
objthe json_object instance
Returns:
a string

Definition at line 452 of file json_object.c.

enum json_type json_object_get_type ( struct json_object obj)

Get the type of the json_object

Parameters:
objthe json_object instance
Returns:
type being one of: json_type_boolean, json_type_double, json_type_int, json_type_object, json_type_array, json_type_string,

Definition at line 190 of file json_object.c.

int json_object_is_type ( struct json_object obj,
int  type 
)

Check if the json_object is of a given type

Parameters:
objthe json_object instance
typeone of: json_type_boolean, json_type_double, json_type_int, json_type_object, json_type_array, json_type_string,

Definition at line 184 of file json_object.c.

struct json_object* json_object_new_array ( void  ) [read]

Create a new empty json_object of type json_type_array

Returns:
a json_object of type json_type_array

Definition at line 495 of file json_object.c.

Create a new empty json_object of type json_type_boolean

Parameters:
ba boolean TRUE or FALSE (0 or 1)
Returns:
a json_object of type json_type_boolean

Definition at line 297 of file json_object.c.

struct json_object* json_object_new_double ( double  d) [read]

Create a new empty json_object of type json_type_double

Parameters:
dthe double
Returns:
a json_object of type json_type_double

Definition at line 386 of file json_object.c.

struct json_object* json_object_new_int ( int  i) [read]

Create a new empty json_object of type json_type_int

Parameters:
ithe integer
Returns:
a json_object of type json_type_int

Definition at line 332 of file json_object.c.

struct json_object* json_object_new_object ( void  ) [read]

Create a new empty object

Returns:
a json_object of type json_type_object

Definition at line 248 of file json_object.c.

struct json_object* json_object_new_string ( const char *  s) [read]

Create a new empty json_object of type json_type_string

A copy of the string is made and the memory is managed by the json_object

Parameters:
sthe string
Returns:
a json_object of type json_type_string

Definition at line 432 of file json_object.c.

struct json_object* json_object_new_string_len ( const char *  s,
int  len 
) [read]

Definition at line 442 of file json_object.c.

void json_object_object_add ( struct json_object obj,
const char *  key,
struct json_object val 
)

Add an object field to a json_object of type json_type_object

The reference count will *not* be incremented. This is to make adding fields to objects in code more compact. If you want to retain a reference to an added object you must wrap the passed object with json_object_get

Parameters:
objthe json_object instance
keythe object field name (a private copy will be duplicated)
vala json_object or NULL member to associate with the given field

Definition at line 270 of file json_object.c.

void json_object_object_del ( struct json_object obj,
const char *  key 
)

Delete the given json_object field

The reference count will be decremented for the deleted object

Parameters:
objthe json_object instance
keythe object field name

Definition at line 282 of file json_object.c.

struct json_object* json_object_object_get ( struct json_object obj,
const char *  key 
) [read]

Get the json_object associate with a given object field

Parameters:
objthe json_object instance
keythe object field name
Returns:
the json_object associated with the given field name

Definition at line 277 of file json_object.c.

void json_object_put ( struct json_object obj)

Decrement the reference count of json_object and free if it reaches zero

Parameters:
objthe json_object instance

Definition at line 144 of file json_object.c.

const char* json_object_to_json_string ( struct json_object obj)

Stringify object to json format

Parameters:
objthe json_object instance
Returns:
a string in JSON format

Definition at line 199 of file json_object.c.

void json_set_float_format ( const char *  f)

Definition at line 362 of file json_object.c.


Variable Documentation

const char* json_hex_chars

Definition at line 41 of file json_object.c.

const char* json_number_chars

Definition at line 40 of file json_object.c.



csm_ros
Author(s): Gaƫl Ecorchard , Ivan Dryanovski, William Morris, Andrea Censi
autogenerated on Sat Jun 8 2019 19:52:42