C語言是一門被廣泛使用的編程語言,在Web開發中如何將JSON數組轉換為對象數組也成為了程序員們經常需要面對的問題之一。
在C語言中,我們可以使用第三方庫cJSON來操作JSON數據。以下是將一個JSON數組轉換為對象數組的示例代碼:
#include#include #include "cJSON.h" typedef struct { int id; char name[20]; } Student; int main() { char jsonStr[] = "[{\"id\": 1, \"name\": \"Alice\"}, {\"id\": 2, \"name\": \"Bob\"}]"; cJSON *json = cJSON_Parse(jsonStr); cJSON *arrayItem = cJSON_GetArrayItem(json, 0); int arraySize = cJSON_GetArraySize(json); Student *students = (Student*)malloc(sizeof(Student) * arraySize); for (int i = 0; i< arraySize; i++) { cJSON *item = cJSON_GetArrayItem(json, i); students[i].id = cJSON_GetObjectItem(item, "id")->valueint; strcpy(students[i].name, cJSON_GetObjectItem(item, "name")->valuestring); } // do something with students free(students); cJSON_Delete(json); return 0; }
以上代碼通過使用cJSON庫解析JSON字符串,并根據JSON數組的長度動態分配內存,將其轉換為一個對象數組,方便我們進行數據操作。