在C語言中,JSON數組處理非常方便。JSON數組是一種將多個數據元素存儲在單個字段中的數據結構。
//例如一個JSON數組可以聲明如下: [1, 2, 3, 4]
在C語言中,使用第三方庫 cJSON 來處理 JSON 數據。cJSON 旨在提供一種簡單而又快速的方法來解析和生成 JSON 數據。
//以下是一個CJSON數組的例子: #include <stdio.h> #include <cJSON.h> int main() { const char *jsonString = "[1, 2, 3, 4]"; cJSON *json = cJSON_Parse(jsonString); if (json == NULL) { printf("Error before: [%s]\n",cJSON_GetErrorPtr()); } else { cJSON *item = json->child; while (item != NULL) { printf("%d\n", item->valueint); item = item->next; } cJSON_Delete(json); printf("\n"); return 0; } } //以上代碼解析JSON字符串并打印"1"、"2"、"3"、"4"。
利用 cJSON 庫,我們可以很方便的將 JSON 數組轉換成 C 數組,如下所示:
int main() { const char *jsonString = "[1, 2, 3, 4]"; cJSON *json = cJSON_Parse(jsonString); if (json == NULL) { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); } else { cJSON *item = json->child; int arr[4]; int i = 0; while (item != NULL) { arr[i++] = item->valueint; item = item->next; } for (int j = 0; j< 4; j++) { printf("%d\n", arr[j]); } cJSON_Delete(json); printf("\n"); return 0; } } //以上代碼將 JSON 數組轉換成了 C 數組,并打印了該數組。
總之,cJSON 是一個十分優秀的 C 語言 JSON 解析庫。它的簡單性、快速性、靈活性,使其成為了開發者解析 JSON 數據的得力工具。