色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c json 樹(shù)操作

在C語(yǔ)言中,處理JSON格式的數(shù)據(jù)可以用到j(luò)son庫(kù)。在這個(gè)庫(kù)中,可以對(duì)JSON數(shù)據(jù)進(jìn)行解析、生成和操作等一系列操作。其中,在處理JSON樹(shù)的時(shí)候,可以使用以下代碼:

#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;
}

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

以上這些函數(shù),可以作為編寫(xiě)C語(yǔ)言處理JSON數(shù)據(jù)的基礎(chǔ)庫(kù)。