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

c json 解析對象列表

劉姿婷2年前6瀏覽0評論

CJSON是一個基于C語言的JSON解析器,它可以解析復雜的JSON對象和數組。在本文中,我們將探討如何使用CJSON解析JSON對象列表。

首先,我們需要確保我們已經安裝了CJSON庫。接下來,我們將從文件中讀取JSON數據。

/* 讀取 JSON 數據并將其存儲在字符串中 */
FILE *fp = fopen("data.json", "r");
char buffer[1024];
fread(buffer, 1, sizeof(buffer), fp);
fclose(fp);

接下來,我們將解析JSON數據并將其存儲在C語言結構中。

/* 將 JSON 字符串解析為 CJSON 對象 */
cJSON *root = cJSON_Parse(buffer); 
/* 檢查解析是否出錯 */
if (root == NULL)
{
printf("Error before: [%s]\n",cJSON_GetErrorPtr());
return 1;
}
/* 遍歷 JSON 對象列表并提取數據 */
cJSON *person = NULL;
cJSON_ArrayForEach(person, root)
{
/* 提取姓名 */
cJSON *name = cJSON_GetObjectItemCaseSensitive(person, "name");
printf("Name: %s\n", cJSON_GetStringValue(name));
/* 提取年齡 */
cJSON *age = cJSON_GetObjectItemCaseSensitive(person, "age");
printf("Age: %d\n", cJSON_GetNumberValue(age));
/* 提取城市 */
cJSON *city = cJSON_GetObjectItemCaseSensitive(person, "city");
printf("City: %s\n", cJSON_GetStringValue(city));
}

在上面的代碼中,我們遍歷JSON對象列表,并提取每個對象中的姓名、年齡和城市屬性值。

現在,我們已經成功地使用CJSON解析了JSON對象列表。