
Go to the source code of this file.
Definition at line 18 of file json_object.h.
| #define JSON_OBJECT_DEF_HASH_ENTIRES 16 |
Definition at line 15 of file json_object.h.
| #define json_object_object_foreach | ( | obj, | |
| key, | |||
| val | |||
| ) |
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
| obj | the json_object instance |
| key | the local name for the char* key variable defined in the body |
| val | the 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)
| obj | the json_object instance |
| iter | the object iterator |
Definition at line 165 of file json_object.h.
Definition at line 21 of file json_object.h.
| typedef int boolean |
Definition at line 28 of file json_object.h.
| enum json_type |
| 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.
| 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
| obj | the json_object instance |
| val | the 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)
| obj | the json_object instance |
| idx | the index to get the element at |
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
| obj | the json_object instance |
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.
| obj | the json_object instance |
| idx | the index to insert the element at |
| val | the 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
| obj | the 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
| obj | the json_object instance |
Definition at line 505 of file json_object.c.
| boolean json_object_get_boolean | ( | struct json_object * | obj | ) |
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.
| obj | the json_object instance |
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.
| obj | the json_object instance |
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.
| obj | the json_object instance |
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
| obj | the json_object instance |
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.
| obj | the json_object instance |
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
| obj | the json_object instance |
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
| obj | the json_object instance |
| type | one 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
Definition at line 495 of file json_object.c.
| struct json_object* json_object_new_boolean | ( | boolean | b | ) | [read] |
Create a new empty json_object of type json_type_boolean
| b | a boolean TRUE or FALSE (0 or 1) |
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
| d | the 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
| i | the integer |
Definition at line 332 of file json_object.c.
| struct json_object* json_object_new_object | ( | void | ) | [read] |
Create a new empty 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
| s | the 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
| obj | the json_object instance |
| key | the object field name (a private copy will be duplicated) |
| val | a 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
| obj | the json_object instance |
| key | the 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
| obj | the json_object instance |
| key | the object 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
| obj | the 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
| obj | the json_object instance |
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.
| 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.