YAJL 2.0.1
|
#include <yajl/yajl_common.h>
#include <stddef.h>
Go to the source code of this file.
Interface to YAJL's JSON generation facilities.
typedef struct yajl_gen_t* yajl_gen |
an opaque handle to a generator
typedef void(* yajl_print_t)(void *ctx, const char *str, size_t len) |
a callback used for "printing" the results.
enum yajl_gen_option |
configuration parameters for the parser, these may be passed to yajl_gen_config() along with option specific argument(s). In general, all configuration parameters default to *off*.
yajl_gen_beautify |
generate indented (beautiful) output |
yajl_gen_indent_string |
Set an indent string which is used when yajl_gen_beautify is enabled. Maybe something like \t or some number of spaces. The default is four spaces ' '. |
yajl_gen_print_callback |
Set a function and context argument that should be used to output generated json. the function should conform to the yajl_print_t prototype while the context argument is a void * of your choosing. example: yajl_gen_config(g, yajl_gen_print_callback, myFunc, myVoidPtr); |
yajl_gen_validate_utf8 |
Normally the generator does not validate that strings you pass to it via yajl_gen_string() are valid UTF8. Enabling this option will cause it to do so. |
yajl_gen_escape_solidus |
the forward solidus (slash or '/' in human) is not required to be escaped in json text. By default, YAJL will not escape it in the iterest of saving bytes. Setting this flag will cause YAJL to always escape '/' in generated JSON strings. |
enum yajl_gen_status |
generator status codes
yajl_gen_status_ok |
no error |
yajl_gen_keys_must_be_strings |
at a point where a map key is generated, a function other than yajl_gen_string was called |
yajl_max_depth_exceeded |
YAJL's maximum generation depth was exceeded. see YAJL_MAX_DEPTH |
yajl_gen_in_error_state |
A generator function (yajl_gen_XXX) was called while in an error state |
yajl_gen_generation_complete |
A complete JSON document has been generated |
yajl_gen_invalid_number |
yajl_gen_double was passed an invalid floating point value (infinity or NaN). |
yajl_gen_no_buf |
A print callback was passed in, so there is no internal buffer to get from |
yajl_gen_invalid_string |
returned from yajl_gen_string() when the yajl_gen_validate_utf8 option is enabled and an invalid was passed by client code. |
YAJL_API yajl_gen yajl_gen_alloc | ( | const yajl_alloc_funcs * | allocFuncs | ) |
allocate a generator handle
allocFuncs | an optional pointer to a structure which allows the client to overide the memory allocation used by yajl. May be NULL, in which case malloc/free/realloc will be used. |
YAJL_API yajl_gen_status yajl_gen_array_close | ( | yajl_gen | hand | ) |
YAJL_API yajl_gen_status yajl_gen_array_open | ( | yajl_gen | hand | ) |
YAJL_API yajl_gen_status yajl_gen_bool | ( | yajl_gen | hand, |
int | boolean | ||
) |
YAJL_API void yajl_gen_clear | ( | yajl_gen | hand | ) |
clear yajl's output buffer, but maintain all internal generation state. This function will not "reset" the generator state, and is intended to enable incremental JSON outputing.
YAJL_API int yajl_gen_config | ( | yajl_gen | g, |
yajl_gen_option | opt, | ||
... | |||
) |
allow the modification of generator options subsequent to handle allocation (via yajl_alloc)
YAJL_API yajl_gen_status yajl_gen_double | ( | yajl_gen | hand, |
double | number | ||
) |
generate a floating point number. number may not be infinity or NaN, as these have no representation in JSON. In these cases the generator will return 'yajl_gen_invalid_number'
YAJL_API void yajl_gen_free | ( | yajl_gen | handle | ) |
free a generator handle
YAJL_API yajl_gen_status yajl_gen_get_buf | ( | yajl_gen | hand, |
const unsigned char ** | buf, | ||
size_t * | len | ||
) |
access the null terminated generator buffer. If incrementally outputing JSON, one should call yajl_gen_clear to clear the buffer. This allows stream generation.
YAJL_API yajl_gen_status yajl_gen_integer | ( | yajl_gen | hand, |
long long int | number | ||
) |
YAJL_API yajl_gen_status yajl_gen_map_close | ( | yajl_gen | hand | ) |
YAJL_API yajl_gen_status yajl_gen_map_open | ( | yajl_gen | hand | ) |
YAJL_API yajl_gen_status yajl_gen_null | ( | yajl_gen | hand | ) |
YAJL_API yajl_gen_status yajl_gen_number | ( | yajl_gen | hand, |
const char * | num, | ||
size_t | len | ||
) |
YAJL_API yajl_gen_status yajl_gen_string | ( | yajl_gen | hand, |
const unsigned char * | str, | ||
size_t | len | ||
) |