C語言開發中,JSON轉換成數組是一個常見的需求,可以使用C中的JSON庫將JSON數據轉換成數組。下面介紹一下使用cJSON這個C語言的JSON庫,將JSON轉換成數組的方法:
#include <stdio.h> #include <cJSON.h> int main() { char *json_str = "{\"name\":\"Jack\",\"gender\":\"male\",\"age\":25,\"marks\":[85,92]}"; cJSON *root = cJSON_Parse(json_str); cJSON *arr = cJSON_GetObjectItem(root, "marks"); int len = cJSON_GetArraySize(arr); int marks[len]; for(int i=0; i<len; i++) { cJSON *item=cJSON_GetArrayItem(arr,i); marks[i] = item->valueint; } cJSON_Delete(root); for(int i=0; i<len; i++) { printf("%d ", marks[i]); } return 0; }
上面的代碼首先定義了一個JSON字符串,然后通過cJSON_Parse()函數將JSON字符串轉換成了JSON對象,使用cJSON_GetObjectItem()函數獲取JSON對象中“marks”字段,然后使用cJSON_GetArraySize()獲取“marks”字段中的數組長度,然后遍歷數組,使用cJSON_GetArrayItem()獲取數組中的每一個元素,最后將其轉換成整數,存入marks數組中。最后調用cJSON_Delete()函數釋放JSON對象的內存,并打印出marks數組中的所有元素。