| 
    Apache Portable Runtime
    
   | 
 

Namespaces | |
| namespace | Apache | 
Data Structures | |
| struct | apr_json_string_t | 
| struct | apr_json_value_t | 
| struct | apr_json_kv_t | 
| struct | apr_json_object_t | 
| struct | apr_json_array_t | 
Macros | |
| #define | APR_JSON_VALUE_STRING (-1) | 
| #define | APR_JSON_FLAGS_NONE 0 | 
| #define | APR_JSON_FLAGS_WHITESPACE 1 | 
| #define | APR_JSON_FLAGS_STRICT 2 | 
Typedefs | |
| typedef struct apr_json_object_t | apr_json_object_t | 
| typedef struct apr_json_array_t | apr_json_array_t | 
| typedef enum apr_json_type_e | apr_json_type_e | 
| typedef struct apr_json_string_t | apr_json_string_t | 
| typedef struct apr_json_value_t | apr_json_value_t | 
| typedef struct apr_json_kv_t | apr_json_kv_t | 
Enumerations | |
| enum | apr_json_type_e {  APR_JSON_OBJECT , APR_JSON_ARRAY , APR_JSON_STRING , APR_JSON_LONG , APR_JSON_DOUBLE , APR_JSON_BOOLEAN , APR_JSON_NULL }  | 
| #define APR_JSON_FLAGS_NONE 0 | 
Flag indicating no special processing.
| #define APR_JSON_FLAGS_STRICT 2 | 
Flag indicating strict overlay.
| #define APR_JSON_FLAGS_WHITESPACE 1 | 
Flag indicating include whitespace.
| #define APR_JSON_VALUE_STRING (-1) | 
When passing a string to one of the encode functions, this value can be passed to indicate a string-valued key, and have the length computed automatically.
| typedef struct apr_json_array_t apr_json_array_t | 
A structure to hold a JSON array.
| typedef struct apr_json_kv_t apr_json_kv_t | 
A structure to hold a JSON object key value pair.
Use apr_json_object_set() to allocate.
| typedef struct apr_json_object_t apr_json_object_t | 
A structure to hold a JSON object.
| typedef struct apr_json_string_t apr_json_string_t | 
A structure to hold a UTF-8 encoded JSON string.
| typedef enum apr_json_type_e apr_json_type_e | 
Enum that represents the type of the given JSON value.
| typedef struct apr_json_value_t apr_json_value_t | 
A structure that holds a JSON value.
Use apr_json_value_create() to allocate.
| enum apr_json_type_e | 
Enum that represents the type of the given JSON value.
| apr_status_t apr_json_array_add | ( | apr_json_value_t * | arr, | 
| apr_json_value_t * | val | ||
| ) | 
Add the value to the end of this array.
| arr | The JSON array. | 
| val | Value to add to the array. | 
| apr_json_value_t * apr_json_array_create | ( | apr_pool_t * | pool, | 
| int | nelts | ||
| ) | 
Allocate and return a JSON array.
| pool | The pool to allocate from. | 
| nelts | the number of elements in the initial array | 
| apr_json_value_t * apr_json_array_first | ( | const apr_json_value_t * | arr | ) | 
Get the first value associated with an array.
If the value is an array, this function returns the first value.
| arr | The JSON array. | 
| apr_json_value_t * apr_json_array_get | ( | apr_json_value_t * | arr, | 
| int | index | ||
| ) | 
Look up the value associated with a key in a JSON object.
| arr | The JSON array. | 
| index | The index of the element in the array. | 
| apr_json_value_t * apr_json_array_next | ( | const apr_json_value_t * | arr, | 
| const apr_json_value_t * | val | ||
| ) | 
Get the next value associated with an array.
This function returns the next value in the array, or NULL if no more values are present.
| arr | The JSON array. | 
| val | The previous element of the array. | 
| apr_json_value_t * apr_json_boolean_create | ( | apr_pool_t * | pool, | 
| int | boolean | ||
| ) | 
Allocate and return a JSON boolean.
| pool | The pool to allocate from. | 
| boolean | The boolean value. | 
| apr_status_t apr_json_decode | ( | apr_json_value_t ** | retval, | 
| const char * | injson, | ||
| apr_ssize_t | size, | ||
| apr_off_t * | offset, | ||
| int | flags, | ||
| int | level, | ||
| apr_pool_t * | pool | ||
| ) | 
Decode utf8-encoded JSON string into apr_json_value_t.
| retval | the result | 
| injson | utf8-encoded JSON string. | 
| size | length of the input string. | 
| offset | number of characters processed. | 
| flags | set to APR_JSON_FLAGS_WHITESPACE to preserve whitespace, or APR_JSON_FLAGS_NONE to filter whitespace. | 
| level | maximum nesting level we are prepared to decode. | 
| pool | pool used to allocate the result from. | 
| apr_json_value_t * apr_json_double_create | ( | apr_pool_t * | pool, | 
| double | dnumber | ||
| ) | 
Allocate and return a JSON double.
| pool | The pool to allocate from. | 
| dnumber | The double value. | 
| apr_status_t apr_json_encode | ( | apr_bucket_brigade * | brigade, | 
| apr_brigade_flush | flush, | ||
| void * | ctx, | ||
| const apr_json_value_t * | json, | ||
| int | flags, | ||
| apr_pool_t * | pool | ||
| ) | 
Encode data represented as apr_json_value_t to utf8-encoded JSON string and append it to the specified brigade.
All JSON strings are checked for invalid UTF-8 character sequences, and if found invalid sequences are replaced with the replacement character "�" (U+FFFD).
| brigade | brigade the result will be appended to. | 
| flush | optional flush function for the brigade. Can be NULL. | 
| ctx | optional contaxt for the flush function. Can be NULL. | 
| json | the JSON data. | 
| flags | set to APR_JSON_FLAGS_WHITESPACE to preserve whitespace, or APR_JSON_FLAGS_NONE to filter whitespace. | 
| pool | pool used to allocate the buckets from. | 
| apr_json_value_t * apr_json_long_create | ( | apr_pool_t * | pool, | 
| apr_int64_t | lnumber | ||
| ) | 
Allocate and return a JSON long.
| pool | The pool to allocate from. | 
| lnumber | The long value. | 
| apr_json_value_t * apr_json_null_create | ( | apr_pool_t * | pool | ) | 
Allocate and return a JSON null.
| pool | The pool to allocate from. | 
| apr_json_value_t * apr_json_object_create | ( | apr_pool_t * | pool | ) | 
Allocate and return a JSON object.
| pool | The pool to allocate from. | 
| apr_json_kv_t * apr_json_object_first | ( | apr_json_value_t * | obj | ) | 
Get the first value associated with an object.
If the value is an object, this function returns the first key value pair.
| obj | The JSON object. | 
| apr_json_kv_t * apr_json_object_get | ( | apr_json_value_t * | obj, | 
| const char * | key, | ||
| apr_ssize_t | klen | ||
| ) | 
Look up the value associated with a key in a JSON object.
| obj | The JSON object. | 
| key | Pointer to the key. | 
| klen | Length of the key, or APR_JSON_VALUE_STRING if NUL terminated. | 
| apr_json_kv_t * apr_json_object_next | ( | apr_json_value_t * | obj, | 
| apr_json_kv_t * | kv | ||
| ) | 
Get the next value associated with an object.
This function returns the next key value pair, or NULL if no more pairs are present.
| obj | The JSON object. | 
| kv | The previous JSON key value pair. | 
| apr_status_t apr_json_object_set | ( | apr_json_value_t * | obj, | 
| const char * | key, | ||
| apr_ssize_t | klen, | ||
| apr_json_value_t * | val, | ||
| apr_pool_t * | pool | ||
| ) | 
Associate a value with a key in a JSON object.
| obj | The JSON object. | 
| key | Pointer to the key string. | 
| klen | Length of the key, or APR_JSON_VALUE_STRING if NUL terminated. | 
| val | Value to associate with the key. | 
| pool | Pool to use. | 
| apr_status_t apr_json_object_set_ex | ( | apr_json_value_t * | obj, | 
| apr_json_value_t * | key, | ||
| apr_json_value_t * | val, | ||
| apr_pool_t * | pool | ||
| ) | 
Associate a value with a key in a JSON object, preserving whitespace.
| obj | The JSON object. | 
| key | Pointer to the key string, including any whitespace required. | 
| val | Value to associate with the key. | 
| pool | Pool to use. | 
| apr_json_value_t * apr_json_overlay | ( | apr_pool_t * | p, | 
| apr_json_value_t * | overlay, | ||
| apr_json_value_t * | base, | ||
| int | flags | ||
| ) | 
Overlay one JSON value over a second JSON value.
If the values are objects, a new object will be returned containing all keys from the overlay superimposed on the base.
Keys that appear in the overlay will replace keys in the base, unless APR_JSON_FLAGS_STRICT is specified, in which case NULL will be returned.
If either the base or the overlay are not objects, overlay will be returned.
| p | pool to use | 
| overlay | the JSON object to overlay on top of base. If NULL, the base will be returned. | 
| base | the base JSON object. If NULL, the overlay will be returned. | 
| flags | set to APR_JSON_FLAGS_STRICT to fail if object keys are not unique, or APR_JSON_FLAGS_NONE to replace keys in base with overlay. | 
| apr_json_value_t * apr_json_string_create | ( | apr_pool_t * | pool, | 
| const char * | val, | ||
| apr_ssize_t | len | ||
| ) | 
Allocate and return a JSON string with the given value.
| pool | The pool to allocate from. | 
| val | The UTF-8 encoded string value. | 
| len | The length of the string, or APR_JSON_VALUE_STRING. | 
| apr_json_value_t * apr_json_value_create | ( | apr_pool_t * | pool | ) | 
Allocate and return a apr_json_value_t structure.
| pool | The pool to allocate from. |