在C編程語言中,JSON轉換數組是一項非常常見的任務。這個過程將JSON格式轉換成C數組,使得數據可以被程序直接讀取和處理。下面我們來一步步看如何實現。
首先,我們需要使用一個C JSON庫來幫助我們解析JSON格式。常用的JSON庫有 cJSON 和 jansson。在這里,我們將使用 cJSON。以下是一個示例JSON格式:
{ "name": "Tom", "age": 25, "scores": [90, 85, 95] }
在CJSON中,使用以下代碼將JSON解析為CJSON格式:
#includechar *json_str = "{\"name\":\"Tom\",\"age\":25,\"scores\":[90,85,95]}"; cJSON *root = cJSON_Parse(json_str);
JSON中的數組將被解析為CJSON數組類型,我們可以使用以下代碼獲取數組并遍歷其元素:
cJSON *scores = cJSON_GetObjectItem(root, "scores"); for (int i = 0; i< cJSON_GetArraySize(scores); ++i) { cJSON *item = cJSON_GetArrayItem(scores, i); int score = item->valueint; printf("%d ", score); }
最后,我們需要將CJSON數組轉換為C數組。這可以通過以下代碼實現:
int scores_array[cJSON_GetArraySize(scores)]; for (int i = 0; i< cJSON_GetArraySize(scores); ++i) { cJSON *item = cJSON_GetArrayItem(scores, i); int score = item->valueint; scores_array[i] = score; }
現在,我們已經完成了JSON轉換為C數組的過程。我們可以像處理普通的C數組一樣處理 scores_array 數組,然后再根據需要做出對結果的處理。
上一篇python 文件描述符
下一篇python 文件指定行