JSON是一種輕量級的數據交換格式,C語言中常用的JSON解析庫有cJSON。在使用cJSON解析JSON字符串時,有些場景需要將JSON轉化為C結構體數組進行處理。這篇文章將介紹如何使用cJSON庫中的API將JSON轉化為C結構體數組。
首先,我們需要通過cJSON_Parse()函數將JSON字符串解析為cJSON對象:
cJSON *json = cJSON_Parse(json_string);
接下來,我們可以通過cJSON_GetArraySize()函數獲取CJSON對象數組的長度,并利用循環將其轉化為C結構體數組:
int array_size = cJSON_GetArraySize(json); for (int i=0; i對于CJSON對象中的每一個數組元素,我們可以使用cJSON_GetObjectItem()函數獲取其各個屬性并賦值給C結構體:
typedef struct { char name[50]; int age; } Person; Person person_array[10]; for (int i=0; ivaluestring); person_array[i].age = age_item->valueint; } 最后,我們需要在使用完cJSON對象后調用cJSON_Delete()函數來釋放內存:
cJSON_Delete(json);通過上述步驟,我們可以將JSON字符串中的數組轉化為C結構體數組,方便進行后續處理。