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

c json遍歷數組

錢瀠龍1年前8瀏覽0評論

cJSON是一款輕量級的C語言JSON解析器,它提供了一套簡單的API來處理JSON數據。在處理JSON數組時,我們可以使用cJSON提供的遍歷函數來遍歷數組中的每個元素。

假設我們有一個JSON數組:

{
"people": [
{
"name": "Tom",
"age": 18
},
{
"name": "Jerry",
"age": 20
},
{
"name": "Mickey",
"age": 22
}
]
}

我們可以通過如下代碼來遍歷數組:

cJSON *root = cJSON_Parse(json_string);
cJSON *people_array = cJSON_GetObjectItem(root, "people");
if (people_array != NULL && cJSON_IsArray(people_array))
{
cJSON *person = NULL;
cJSON_ArrayForEach(person, people_array)
{
cJSON *name = cJSON_GetObjectItem(person, "name");
cJSON *age = cJSON_GetObjectItem(person, "age");
printf("Name: %s, Age: %d\n", name->valuestring, age->valueint);
}
}

首先,我們通過cJSON_Parse函數將JSON字符串解析成一個cJSON對象,然后使用cJSON_GetObjectItem函數獲取JSON數組對象。并使用cJSON_IsArray函數判斷獲取的對象是否為一個JSON數組對象。

如果獲取到的是一個JSON數組對象,我們就可以使用cJSON_ArrayForEach宏來遍歷數組。在每次循環中,我們獲取數組中的一個JSON對象(即數組中的一個元素),然后再使用cJSON_GetObjectItem函數獲取該對象中的name和age屬性,并輸出其值。

需要注意的是,當我們使用cJSON_Parse函數解析JSON字符串時,如果JSON字符串中的某個元素不存在,則相應的cJSON對象將返回NULL。因此,我們需要在遍歷數組時使用if語句來判斷獲取到的對象是否為NULL。