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

c 語言 json數組解析

錢多多2年前8瀏覽0評論

在現代的web開發和移動應用開發中,大量應用了json數據格式。為了能夠在C語言中解析json數組,我們可以使用cJSON庫。

#include "cJSON.h"
#include <stdio.h>
int main() {
char* json_data = "[1, 2, 3, 4, {\"name\": \"John\", \"age\": 25}]";
cJSON* root = cJSON_Parse(json_data);
if (root == NULL) {
printf("Error: Json data is invalid.\n");
return 1;
}
if (root->type == cJSON_Array) {
int array_size = cJSON_GetArraySize(root);
printf("The array size is %d.\n", array_size);
for (int i = 0; i< array_size; i++) {
cJSON* item = cJSON_GetArrayItem(root, i);
if (item->type == cJSON_Number) {
printf("%d ", item->valueint);
}
else if (item->type == cJSON_Object) {
cJSON* name_item = cJSON_GetObjectItem(item, "name");
cJSON* age_item = cJSON_GetObjectItem(item, "age");
printf("Name:%s Age:%d\n", name_item->valuestring, age_item->valueint);
}
}
printf("\n");
}
cJSON_Delete(root);
return 0;
}

以上代碼演示了如何解析一個json數組,并打印出其中的元素。在解析json數組時,我們可以先使用cJSON_Parse()方法將json字符串轉換為cJSON對象。然后通過cJSON_GetArraySize()方法獲取數組大小。接著可以通過cJSON_GetArrayItem()方法遍歷數組中的元素。在處理元素時,需要根據元素的類型進行不同的處理,例如在本例中,當元素為數字類型時,我們可以使用cJSON_Number類型獲取值,而當元素為對象類型時,則需要使用cJSON_GetObjectItem()方法提取對象中的屬性值。