JSON C语言API整理

1 JSON对象的生成

Json对象的类型:

json_type_object, “名称/值”对的集合

Json对象的类型

            json_type_boolean,

json_type_double, 

json_type_int,

json_type_array, “值”的集合

json_type_string

 

 

 

2 JSON常用函数

(1)创建一个空的json_type_object类型JSON对象:

struct json_object * json_object_new_object(); 

 

(2)创建一个空的json_type_array类型JSON数组值对象:

struct json_object * json_object_new_array();

 

(3)由str里的json字符串生成json对象:

struct json_object * json_tokener_parse(char *str);

说明:由str里的JSON字符串生成json对象,str是json_object_to_json_string() 生成的。

参数:str  json字符串

 

(4)从json中按名字取一个对象:

struct json_object * json_object_object_get(struct json_object * json,char *name);

参数:json – json对象     name – son域名字

 

5)减少对象引用次数一次,当减少到0就释放(free)资源:

Void json_object_put(struct json_object * this)

参数:this  json对象

 

6)将json_object内容转换json格式字符串,其中可能含有转义符:

char * json_object_to_json_string(struct json_object * this);

参数:this  json对象

返回值:Json格式字符串

 

7)添加一个对象域到json对象中:

void json_object_object_add(struct json_object* obj, char *key, struct json_object *val);

参数:Obj  json对象 key  域名字 val  json值对象

 

8)删除keyjson对象:

void json_object_object_del(struct json_object* obj, char *key);

参数: ob j  json对象  key  域名字

 

9)得到json对象数组的长度:

int json_object_array_length(struct json_object *obj);

参数:ob j  json数组值对象

 

10)添加一元素在json对象数组末端:

extern int json_object_array_add(struct json_object *obj, struct json_object *val);

参数:ob j  json数组值对象   val  json值对象

 

11)在指定的json对象数组下标插入或替换一个json对象元素:

int json_object_array_put_idx(struct json_object *obj, int idx, struct json_object *val);

参数:ob j  json数组值对象 val  json值对象  idx  数组下标

 

(12)从数组中,按下标取JSON值对象:

struct json_object * json_object_array_get_idx(struct json_object * json_array,int i);

参数:json_array  json 数组类型对象 i – 数组下标位置

 

13)得到json_object的类型:

enum json_type json_object_get_type(struct json_object * this ) 

参数:this  json对象

 

14)其它

struct json_object* json_object_new_int(int i)

int json_object_get_int(struct json_object *this)

 

struct json_object* json_object_new_double(double d)

double json_object_get_double(struct json_object *this)

 

struct json_object* json_object_new_string(char *s)

char* json_object_get_string(struct json_object *this)

分享到:

1 条评论

昵称
  1. Pingback: Linux下C语言操作json数据 | ASPIRE