简单介绍下json-c库的一些函数。
http://www.linuxfromscratch.org/blfs/view/svn/general/json-c.html
在编译前需要Linux PC上确认以下被安装:
apt-get install autoconf automake libtool
./configure CC=arm-linux-gcc --host=arm-linux --prefix=$PWD/install
make && make install
./configure --prefix=$PWD/install
make && make install
函数原型:
JSON_EXPORT struct json_object* json_object_new_object(void);
函数参数:
无
函数返回:
struct json_object*指针
说明:
创建一个新的json_object对象。
函数原型:
JSON_EXPORT int json_object_object_add(struct json_object* obj, const char *key,
struct json_object *val);
函数参数:
obj:要被添加的json_object对象
key:字段名称
val:与key关联的json_object对象
函数返回:
0:成功
<0:失败
说明:
将字段名称为key的json_object对象val添加进json_object对象obj中去
函数原型:
JSON_EXPORT struct json_object* json_object_new_int(int32_t i);
函数参数:
i:数值
函数返回:
新的json_object对象
说明:
创建一个类型为int的json_object新对象
函数原型:
JSON_EXPORT struct json_object* json_object_new_array(void);
函数参数:
无
函数返回:
新的json_object对象
说明:
创建一个类型为array的json_object新对象
函数原型:
JSON_EXPORT int json_object_array_add(struct json_object *obj,
struct json_object *val);
函数参数:
obj:要被添加的json_object对象
val:与添加到obj的json_object对象
函数返回:
0:成功
<0:失败
说明:
将json_object对象val添加到obj中
函数原型:
JSON_EXPORT struct json_object* json_object_new_string(const char *s);
函数参数:
s:字符串
函数返回:
新的json_object对象
说明:
创建一个类型为string的json_object新对象
函数原型:
JSON_EXPORT struct json_object* json_tokener_parse(const char *str);
函数参数:
str:包含json数据的字符串
函数返回:
json_object对象
说明:
从str中解析出json_object对象
函数原型:
extern json_bool json_object_object_get_ex(struct json_object* obj,
const char *key,
struct json_object **value);
函数参数:
obj:json_object对象
key:要获取的字段名称
val:与key关联的json_object对象
函数返回:
非0:成功
0:失败
说明:
从obj中获取字段为key的json_object对象指针val
函数原型:
extern enum json_type json_object_get_type(struct json_object *obj);
函数参数:
obj:json_object对象
函数返回:
json_object的类型
说明:
类型如下:
typedef enum json_type {
json_type_null,
json_type_boolean,
json_type_double,
json_type_int,
json_type_object,
json_type_array,
json_type_string,
} json_type;
函数原型:
JSON_EXPORT const char* json_object_to_json_string(struct json_object *obj);
函数参数:
obj:json_object对象
函数返回:
字符串指针
说明:
将生成的json_object输出为字符串格式
函数原型:
JSON_EXPORT int json_object_put(struct json_object *obj);
函数参数:
obj:要被释放的对象
函数返回:
1:成功
说明:
释放掉json_object内存空间