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

c c json 序列化

林雅南2年前8瀏覽0評論

C語言中要讀取和解析JSON數(shù)據(jù),就需要用到JSON序列化和反序列化技術。而在C語言中,常用的JSON序列化庫就是cJSON。

/*創(chuàng)建一個JSON對象*/
cJSON *json = cJSON_CreateObject();
/*添加一個字符串類型的鍵值對*/
cJSON_AddStringToObject(json, "name", "Tom");
/*添加一個整型類型的鍵值對*/
cJSON_AddNumberToObject(json, "age", 18);
/*序列化JSON對象*/
char *json_str = cJSON_Print(json);

從上述代碼可以看到,使用cJSON生成JSON對象非常簡單,只需要創(chuàng)建一個cJSON對象,然后像添加鍵值對一樣向其中添加數(shù)據(jù)即可。但是為了方便使用,cJSON還提供了一些針對不同類型數(shù)據(jù)的添加函數(shù),例如上文中使用了cJSON_AddStringToObject函數(shù)向JSON對象添加了一個字符串類型的鍵值對。

{
"name": "Tom",
"age": 18
}

經(jīng)過序列化處理后的JSON對象,可以得到這樣一段JSON字符串。可以看到,cJSON正確地將JSON對象序列化轉(zhuǎn)換為了JSON字符串。

/*反序列化JSON對象*/
cJSON *json_obj = cJSON_Parse(json_str);
/*讀取JSON對象中的鍵值對*/
char *name = cJSON_GetObjectItem(json_obj, "name")->valuestring;
int age = cJSON_GetObjectItem(json_obj, "age")->valueint;

而要將JSON字符串轉(zhuǎn)換為JSON對象,則需要使用cJSON_Parse函數(shù)。該函數(shù)可以將JSON字符串解析成一個cJSON對象,從而可以方便地使用cJSON的讀取函數(shù)獲取JSON對象中的鍵值對。例如上述代碼使用了cJSON_GetObjectItem函數(shù)獲取了JSON對象中的"name"和"age"鍵對應的值。