json-c  0.13
Macros | Functions
json_util.h File Reference

Miscllaneous utility functions and macros. More...

Macros

#define json_min(a, b)   ((a) < (b) ? (a) : (b))
 
#define json_max(a, b)   ((a) > (b) ? (a) : (b))
 
#define JSON_FILE_BUF_SIZE   4096
 

Functions

struct json_objectjson_object_from_file (const char *filename)
 
struct json_objectjson_object_from_fd (int fd)
 
int json_object_to_file (const char *filename, struct json_object *obj)
 
int json_object_to_file_ext (const char *filename, struct json_object *obj, int flags)
 
int json_object_to_fd (int fd, struct json_object *obj, int flags)
 
const char * json_util_get_last_err (void)
 
int json_parse_int64 (const char *buf, int64_t *retval)
 
int json_parse_double (const char *buf, double *retval)
 
const char * json_type_to_name (enum json_type o_type)
 

Detailed Description

Miscllaneous utility functions and macros.

Macro Definition Documentation

◆ JSON_FILE_BUF_SIZE

#define JSON_FILE_BUF_SIZE   4096

◆ json_max

#define json_max (   a,
 
)    ((a) > (b) ? (a) : (b))

◆ json_min

#define json_min (   a,
 
)    ((a) < (b) ? (a) : (b))

Function Documentation

◆ json_object_from_fd()

struct json_object* json_object_from_fd ( int  fd)

Create a JSON object from already opened file descriptor.

This function can be helpful, when you opened the file already, e.g. when you have a temp file. Note, that the fd must be readable at the actual position, i.e. use lseek(fd, 0, SEEK_SET) before.

Returns -1 if something fails. See json_util_get_last_err() for details.

◆ json_object_from_file()

struct json_object* json_object_from_file ( const char *  filename)

Read the full contents of the given file, then convert it to a json_object using json_tokener_parse().

Returns -1 if something fails. See json_util_get_last_err() for details.

◆ json_object_to_fd()

int json_object_to_fd ( int  fd,
struct json_object obj,
int  flags 
)

Convert the json_object to a string and write it to the file descriptor. Handles partial writes and will keep writing until done, or an error occurs.

Parameters
fdan open, writable file descriptor to write to
objthe object to serializer and write
flagsflags to pass to json_object_to_json_string_ext()
Returns
-1 if something fails. See json_util_get_last_err() for details.

◆ json_object_to_file()

int json_object_to_file ( const char *  filename,
struct json_object obj 
)

Equivalent to: json_object_to_file_ext(filename, obj, JSON_C_TO_STRING_PLAIN);

Returns -1 if something fails. See json_util_get_last_err() for details.

◆ json_object_to_file_ext()

int json_object_to_file_ext ( const char *  filename,
struct json_object obj,
int  flags 
)

Open and truncate the given file, creating it if necessary, then convert the json_object to a string and write it to the file.

Returns -1 if something fails. See json_util_get_last_err() for details.

◆ json_parse_double()

int json_parse_double ( const char *  buf,
double *  retval 
)

◆ json_parse_int64()

int json_parse_int64 ( const char *  buf,
int64_t *  retval 
)

◆ json_type_to_name()

const char* json_type_to_name ( enum json_type  o_type)

Return a string describing the type of the object. e.g. "int", or "object", etc...

◆ json_util_get_last_err()

const char* json_util_get_last_err ( void  )

Return the last error from various json-c functions, including: json_object_to_file{,ext}, json_object_to_fd() or json_object_from{file,fd}, or NULL if there is none.