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)删除key值json对象:
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)
Pingback: Linux下C语言操作json数据 | ASPIRE