XROAD
xroad_json.h File Reference
#include "xroad_string.h"
#include "xroad_xml.h"
#include <json.h>
#include <stdbool.h>
Include dependency graph for xroad_json.h:

Go to the source code of this file.

Macros

#define JSON_TRUE   1
 
#define JSON_FALSE   0
 
#define __xroad_json_dtor__   __dtor__(xroad_json_destructor)
 

Functions

void xroad_json_destructor (json_object **obj)
 
json_object * xroad_json_from_str (xroad_str_t str)
 
json_object * xroad_json_get_object (json_object *obj, xroad_str_t path)
 
bool xroad_json_has_child (json_object *obj, xroad_str_t path)
 
bool xroad_json_get_int32 (json_object *obj, xroad_str_t path, int32_t *val)
 
int32_t xroad_json_get_int32_def (json_object *obj, xroad_str_t path, int32_t def_val)
 
bool xroad_json_get_int64 (json_object *obj, xroad_str_t path, int64_t *val)
 
int64_t xroad_json_get_int64_def (json_object *obj, xroad_str_t path, int64_t def_val)
 
bool xroad_json_get_double (json_object *obj, xroad_str_t path, double *val)
 
double xroad_json_get_double_def (json_object *obj, xroad_str_t path, double def_val)
 
bool xroad_json_get_string (json_object *obj, xroad_str_t path, xroad_str_t *val)
 
xroad_str_t xroad_json_get_string_def (json_object *obj, xroad_str_t path, xroad_str_t def_val)
 
bool xroad_json_get_bool (json_object *obj, xroad_str_t path, bool *val)
 
bool xroad_json_get_bool_def (json_object *obj, xroad_str_t path, bool def_val)
 
json_object * xroad_json_from_xml (xroad_xml_tag_t tag)
 
xroad_str_t xroad_json_to_str (json_object *obj, int32_t flags)
 
json_type xroad_json_get_type (json_object *obj, xroad_str_t path)
 

Detailed Description

Function Documentation

◆ xroad_json_from_str()

json_object* xroad_json_from_str ( xroad_str_t  str)

parse JSON from string

Parameters
[in]str- string to parse
Returns
json object and NULL in case of error

◆ xroad_json_from_xml()

json_object* xroad_json_from_xml ( xroad_xml_tag_t  tag)

converts xml to json

Parameters
[in]tag- xml parent tag
Returns
json object

◆ xroad_json_get_bool()

bool xroad_json_get_bool ( json_object *  obj,
xroad_str_t  path,
bool *  val 
)

get bool data

Parameters
[in]obj- parent object
[in]path- search path
[out]val- found value
Returns
true value found and it is a boolean

◆ xroad_json_get_bool_def()

bool xroad_json_get_bool_def ( json_object *  obj,
xroad_str_t  path,
bool  def_val 
)

get bool data with default

Parameters
[in]obj- parent object
[in]path- search path
[out]def_val- default value
Returns
true value found and it is a boolean

◆ xroad_json_get_double()

bool xroad_json_get_double ( json_object *  obj,
xroad_str_t  path,
double *  val 
)

get double data

Parameters
[in]obj- parent object
[in]path- search path
[out]val- found value
Returns
true value found and it is an double

◆ xroad_json_get_double_def()

double xroad_json_get_double_def ( json_object *  obj,
xroad_str_t  path,
double  def_val 
)

get double data with defauult

Parameters
[in]obj- parent object
[in]path- search path
[out]def_val- default value
Returns
value(or default)

◆ xroad_json_get_int32()

bool xroad_json_get_int32 ( json_object *  obj,
xroad_str_t  path,
int32_t *  val 
)

get int32 data

Parameters
[in]obj- parent object
[in]path- search path
[out]val- found value
Returns
true value found and it is an integer

◆ xroad_json_get_int32_def()

int32_t xroad_json_get_int32_def ( json_object *  obj,
xroad_str_t  path,
int32_t  def_val 
)

get int32 data with default

Parameters
[in]obj- parent object
[in]path- search path
[out]def_val- default value
Returns
value(or default)

◆ xroad_json_get_int64()

bool xroad_json_get_int64 ( json_object *  obj,
xroad_str_t  path,
int64_t *  val 
)

get int64 data

Parameters
[in]obj- parent object
[in]path- search path
[out]val- found value
Returns
true value found and it is an integer

◆ xroad_json_get_int64_def()

int64_t xroad_json_get_int64_def ( json_object *  obj,
xroad_str_t  path,
int64_t  def_val 
)

get int64 data with default

Parameters
[in]obj- parent object
[in]path- search path
[out]def_val- default value
Returns
value(or default)

◆ xroad_json_get_object()

json_object* xroad_json_get_object ( json_object *  obj,
xroad_str_t  path 
)

get json object by path

Parameters
[in]obj- parent JSON object
[in]path- search path (e.g. "test/data/child[0]/name")
Returns
JSON object is any, NULL - wrong path

◆ xroad_json_get_string()

bool xroad_json_get_string ( json_object *  obj,
xroad_str_t  path,
xroad_str_t val 
)

get string data

Parameters
[in]obj- parent object
[in]path- search path
[out]val- found value
Returns
true value found and it is a string

◆ xroad_json_get_string_def()

xroad_str_t xroad_json_get_string_def ( json_object *  obj,
xroad_str_t  path,
xroad_str_t  def_val 
)

get string data with default

Parameters
[in]obj- parent object
[in]path- search path
[out]def_val- default value
Returns
true value found and it is a string

◆ xroad_json_get_type()

json_type xroad_json_get_type ( json_object *  obj,
xroad_str_t  path 
)

get json object type

Parameters
[in]obj- parent json object
[in]path- path to json object
Returns
json object type

◆ xroad_json_has_child()

bool xroad_json_has_child ( json_object *  obj,
xroad_str_t  path 
)

check for child object

Parameters
[in]obj- parent JSON object
[in]path- search path (e.g. "test/data/child[0]/name")
Returns
true - child exists, else failed

◆ xroad_json_to_str()

xroad_str_t xroad_json_to_str ( json_object *  obj,
int32_t  flags 
)

serialize json to string

Parameters
[in]obj- parent object
[in]flags- json flags (e.g. JSON_C_TO_STRING_PRETTY, etc)
Returns
string representation of json structure