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

c 組裝和解析json數(shù)據(jù)

謝彥文1年前8瀏覽0評論

在Web開發(fā)中,處理JSON數(shù)據(jù)是非常常見的任務(wù)。JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,具有可讀性強、易于解析、易于生成和易于傳輸?shù)奶攸c,已成為現(xiàn)代Web應(yīng)用程序中的主要數(shù)據(jù)格式。在C語言中,處理JSON數(shù)據(jù)同樣也是一項必需的任務(wù)。

在C語言中,可以使用第三方庫來處理JSON數(shù)據(jù)。其中,最為常見的是cJSON,它是一款輕量級的C語言JSON編解碼器,可以很方便地對JSON數(shù)據(jù)進行組裝和解析。

#include <stdio.h>
#include <cJSON.h>
int main()
{
// 組裝JSON數(shù)據(jù)
cJSON *root = cJSON_CreateObject();
cJSON_AddStringToObject(root, "name", "張三");
cJSON_AddNumberToObject(root, "age", 25);
cJSON *hobbies = cJSON_AddArrayToObject(root, "hobbies");
cJSON_AddStringToObject(hobbies, "coding");
cJSON_AddStringToObject(hobbies, "reading");
cJSON_AddStringToObject(hobbies, "running");
char *json_data = cJSON_Print(root);
printf("%s\n", json_data);
// 解析JSON數(shù)據(jù)
cJSON *json = cJSON_Parse(json_data);
char *name = cJSON_GetObjectItem(json, "name")->valuestring;
int age = cJSON_GetObjectItem(json, "age")->valueint;
cJSON *hobbies_arr = cJSON_GetObjectItem(json, "hobbies");
for (int i = 0; i< cJSON_GetArraySize(hobbies_arr); i++)
{
cJSON *hobby = cJSON_GetArrayItem(hobbies_arr, i);
printf("hobby %d: %s\n", i+1, hobby->valuestring);
}
// 釋放內(nèi)存
cJSON_Delete(json);
free(json_data);
return 0;
}

上面的示例代碼展示了如何使用cJSON組裝和解析JSON數(shù)據(jù)。在組裝JSON數(shù)據(jù)時,首先創(chuàng)建一個cJSON對象,然后使用cJSON_AddXXXToObject系列函數(shù)向?qū)ο笾刑砑又担詈笫褂胏JSON_Print函數(shù)將對象轉(zhuǎn)換成JSON字符串。解析JSON數(shù)據(jù)時,首先使用cJSON_Parse函數(shù)將JSON字符串解析成cJSON對象,然后使用cJSON_GetObjectItem系列函數(shù)獲取對象中的值。