JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易于閱讀和編寫。在C語言中,我們可以使用cJSON庫來解析和生成JSON數據。cJSON是一個開源的C語言JSON解析器,可以快速的解析JSON數據和生成JSON數據。
在C語言中,調用接口獲取JSON數據可以使用如下代碼:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <cJSON.h> //調用接口獲取JSON數據 char *get_json_data(void) { char *json_data = "[{\"name\":\"小明\",\"age\":20,\"score\":78},{\"name\":\"小紅\",\"age\":21,\"score\":82},{\"name\":\"小剛\",\"age\":22,\"score\":90}]"; return json_data; } int main() { char *json_data = get_json_data(); //獲取JSON數據 cJSON *root = NULL; cJSON *item = NULL; cJSON *subitem = NULL; root = cJSON_Parse(json_data); //解析JSON數據 if (root != NULL) { int array_size = cJSON_GetArraySize(root); //獲取JSON數組長度 for (int i = 0; i< array_size; i++) { item = cJSON_GetArrayItem(root, i); //獲取JSON數組元素 subitem = cJSON_GetObjectItem(item, "name"); //獲取JSON對象元素 printf("姓名:%s\n", subitem->valuestring); subitem = cJSON_GetObjectItem(item, "age"); printf("年齡:%d\n", subitem->valueint); subitem = cJSON_GetObjectItem(item, "score"); printf("分數:%d\n\n", subitem->valueint); } cJSON_Delete(root); //釋放內存 } return 0; }
上述代碼中的get_json_data函數模擬了調用接口獲取JSON數據,然后在主函數中使用cJSON_Parse函數將JSON數據解析成cJSON對象,并使用cJSON_GetObjectItem和cJSON_GetArrayItem函數獲取JSON對象元素和JSON數組元素。最后使用cJSON_Delete函數釋放cJSON對象的內存。
上一篇vue+代碼拆分