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

c json模板

在Web開發(fā)中,經(jīng)常需要使用JSON格式進(jìn)行數(shù)據(jù)的傳遞和解析,而C語言是一種被廣泛應(yīng)用的高效編程語言,開發(fā)出可靠的C語言JSON庫可以方便其他開發(fā)者進(jìn)行JSON數(shù)據(jù)的操作。下面介紹一個(gè)CJSON模板,可以在此模板基礎(chǔ)上進(jìn)行自己開發(fā)。

typedef struct cJSON
{
struct cJSON *next, *prev;
struct cJSON *child;
int        type;
char *     valuestring;
int        valueint;
double     valuedouble;
char *     string;
} cJSON;

這是一個(gè)簡(jiǎn)單的CJSON結(jié)構(gòu)體模板,它包括了鏈表中的前驅(qū)和后繼指針,一個(gè)子節(jié)點(diǎn),節(jié)點(diǎn)的類型,值字符串,整數(shù)值,浮點(diǎn)數(shù)值以及字符串值。

enum
{
cJSON_False = 0,
cJSON_True,
cJSON_NULL,
cJSON_Number,
cJSON_String,
cJSON_Array,
cJSON_Object
};

上述代碼是枚舉類型,表示節(jié)點(diǎn)的類型,包括:false、true、null、數(shù)字、字符串、數(shù)組和對(duì)象。

cJSON * cJSON_CreateObject(void);
cJSON * cJSON_CreateArray(void);
cJSON * cJSON_CreateString(const char *string);
cJSON * cJSON_CreateNumber(double num);
cJSON * cJSON_CreateBool(int b);
void cJSON_AddItemToObject(cJSON *object, const char *name, cJSON *item);
void cJSON_AddItemToArray(cJSON *array, cJSON *item);
void cJSON_Delete(cJSON *c);

上述函數(shù)是該模板中提供的一些常用函數(shù),可以用來創(chuàng)建對(duì)象、數(shù)組、字符串、數(shù)字、布爾等節(jié)點(diǎn),還可以向?qū)ο笾刑砑幼庸?jié)點(diǎn)或數(shù)組。最后是一條刪除節(jié)點(diǎn)的指令。

以上就是CJSON模板的主要內(nèi)容。可以使用該模板進(jìn)行基于C語言的JSON庫的開發(fā)。在編寫自己的JSON庫時(shí),需要仔細(xì)考慮應(yīng)該提供哪些函數(shù)和哪些數(shù)據(jù)類型,以方便其他開發(fā)者使用。