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

c 遍歷解析json對象

林子帆2年前11瀏覽0評論

C語言是一門廣泛使用的程序設計語言,許多程序員會選擇使用C語言來遍歷解析JSON對象。JSON是一種輕量級的數據交換格式,在互聯網領域廣泛應用。以下是C語言中遍歷解析JSON對象的示例。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <cjson/cJSON.h>
int main(void) {
const char* json_data = "{\"name\":\"John\",\"age\":30,\"cars\":[\"Ford\",\"BMW\",\"Fiat\"]}";
cJSON* json = cJSON_Parse(json_data);
if (json == NULL) {
const char* error_ptr = cJSON_GetErrorPtr();
if (error_ptr != NULL) {
printf("Error parsing JSON: %s\n", error_ptr);
}
} else {
cJSON* name = cJSON_GetObjectItemCaseSensitive(json, "name");
printf("Name: %s\n", cJSON_GetStringValue(name));
cJSON* age = cJSON_GetObjectItemCaseSensitive(json, "age");
printf("Age: %d\n", cJSON_GetNumberValue(age));
cJSON* cars = cJSON_GetObjectItemCaseSensitive(json, "cars");
if (cJSON_IsArray(cars)) {
printf("Cars:\n");
cJSON_ArrayForEach(cars, car) {
printf("- %s\n", cJSON_GetStringValue(car));
}
}
cJSON_Delete(json);
}
return EXIT_SUCCESS;
}

在這個示例中,我們使用了cJSON庫來解析JSON對象。首先,我們需要定義一個const char指針來存儲JSON對象的字符串形式。然后我們使用cJSON_Parse函數將字符串解析為JSON對象,并將解析結果存儲在一個cJSON指針中。

接下來,我們使用cJSON_GetObjectItemCaseSensitive函數來獲取JSON對象中相應的元素,這里我們獲取了name、age和cars元素。cJSON_GetObjectItemCaseSensitive是一個安全獲取元素的函數,它會檢查是否存在該元素。如果該元素不存在,程序不會崩潰,而是返回NULL。

然后我們分別使用cJSON_GetStringValue和cJSON_GetNumberValue函數獲取name和age元素的值,并使用printf函數將獲取到的值打印出來。

最后,我們使用cJSON_IsArray函數判斷cars元素是否為JSON數組。如果是數組,我們可以使用cJSON_ArrayForEach宏來遍歷數組中的元素,獲取每個元素的值并將其打印出來。

最后,我們使用cJSON_Delete函數來釋放JSON對象占用的內存。