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

c語言解析json數組

錢斌斌1年前7瀏覽0評論

C語言作為一門流行的編程語言,不僅常用于系統編程,還廣泛用于數據處理和網絡通信。JSON作為一種輕量級的數據交換格式,被廣泛使用。在C語言中,我們需要對JSON數據進行解析,以便正確處理和利用這些數據。本文將介紹如何使用C語言解析JSON數組。

/*
* 解析JSON數組
*/
#include#include#include "cJSON.h"
int main() {
const char *json_str = "[{\"name\": \"Tom\", \"age\": 20}, {\"name\": \"John\", \"age\": 22}]";
cJSON *json = cJSON_Parse(json_str);
if (json == NULL) {
printf("cJSON parse error! \n");
return -1;
}
int array_size = cJSON_GetArraySize(json);
for (int i = 0; i< array_size; i++) {
cJSON *item = cJSON_GetArrayItem(json, i);
cJSON *name = cJSON_GetObjectItem(item, "name");
cJSON *age = cJSON_GetObjectItem(item, "age");
printf("Name: %s, Age: %d \n", name->valuestring, age->valueint);
}
cJSON_Delete(json);
return 0;
}

代碼使用了cJSON庫來解析JSON數組。在main()函數中,我們定義了一個JSON字符串json_str,其中包含了兩個JSON對象。我們使用cJSON_Parse()函數將其解析成一個cJSON對象,并判斷其是否為NULL,如果是,則說明解析失敗,打印錯誤信息。然后,通過調用cJSON_GetArraySize()函數獲取數組的大小,并使用循環遍歷JSON數組中的每個元素。在循環中,使用cJSON_GetArrayItem()函數獲取數組的第i個元素,然后使用cJSON_GetObjectItem()函數獲取其中的"name"和"age"屬性,并打印它們的值。

使用C語言解析JSON數組需要用到cJSON庫。該庫是一個輕量級的、ANSI C語言編寫的JSON解析器和生成器。使用該庫,我們可以解析和生成JSON數據,并且它的API接口非常簡單易用。因此,在C語言編寫的項目中,使用cJSON庫來解析和生成JSON數據,是一個不錯的選擇。