欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c json 樹操作

傅智翔2年前8瀏覽0評論

在C語言中,處理JSON格式的數據可以用到json庫。在這個庫中,可以對JSON數據進行解析、生成和操作等一系列操作。其中,在處理JSON樹的時候,可以使用以下代碼:

#include "json.h"
#define ARRAY_SIZE(a) (sizeof(a)/sizeof((a)[0]))
/* ... */
struct json_object* get_object(struct json_object *jso, const char* name)
{
struct json_object *jo;
if(json_object_object_get_ex(jso, name, &jo))
{
return jo;
}
return NULL;
}
struct json_object* get_array_element(struct json_object *jso, int i)
{
struct json_object *jo;
if(json_object_array_get_idx(jso, i, &jo))
{
return jo;
}
return NULL;
}
struct json_object* create_obj(void)
{
return json_object_new_object();
}
struct json_object* add_obj(struct json_object *jso, const char* name, struct json_object *value)
{
json_object_object_add(jso, name, value);
return jso;
}
struct json_object* create_string(const char* value)
{
return json_object_new_string(value);
}
struct json_object* create_int(int value)
{
return json_object_new_int(value);
}
struct json_object* create_float(float value)
{
return json_object_new_double(value);
}
struct json_object* create_bool(bool value)
{
return json_object_new_boolean(value);
}
struct json_object* create_array(void)
{
return json_object_new_array();
}
struct json_object* add_array_element(struct json_object *jso, struct json_object *value)
{
json_object_array_add(jso, value);
return jso;
}

在上述代碼中,函數get_object用于獲取JSON對象,在JSON樹中找到指定字段名的對象,并返回該對象的指針;函數get_array_element用于獲取JSON對象數組的某個成員。create_obj、add_obj、create_string、create_int、create_float、create_bool、create_array、add_array_element等函數則用于創建JSON對象、添加元素等操作。

以上這些函數,可以作為編寫C語言處理JSON數據的基礎庫。