欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c json轉為數組

林玟書2年前7瀏覽0評論

如果想在C語言中將JSON數據轉換為數據數組,我們可以使用CJSON庫來實現。CJSON提供了一些API來實現JSON和C數組之間的轉換。

首先我們需要通過代碼導入CJSON的頭文件:

#include "cJSON.h"

接著,我們需要定義JSON字符串:

char *jsonStr = "{\n\t\"name\": \"Tom\",\n\t\"age\": \"25\",\n\t\"address\": {\n\t\t\"city\": \"Shanghai\",\n\t\t\"province\": \"Shanghai\"\n\t},\n\t\"grades\": [85, 90, 92, 78]\n}";

這里我們定義了一個JSON字符串,包含了一個對象和一個數組。

接下來,我們需要用cJSON_parse函數將JSON字符串解析為cJSON對象:

cJSON *json = cJSON_Parse(jsonStr);

現在我們已經得到了JSON字符串的cJSON對象,接下來我們可以使用cJSON_GetObjectItem函數來訪問這個對象中的元素。

例如,我們可以訪問這個對象中的“name”元素:

cJSON *name = cJSON_GetObjectItem(json, "name");
printf("name: %s\n", name->valuestring);

我們可以使用同樣的方式訪問這個數組對象:

cJSON *grades = cJSON_GetObjectItem(json, "grades");
int gradesNum = cJSON_GetArraySize(grades);
for(int i = 0; i< gradesNum; i++) {
cJSON *grade = cJSON_GetArrayItem(grades, i);
printf("grade %d: %d\n", i+1, grade->valueint);
}

現在,我們已經知道如何將JSON字符串轉換為cJSON對象,并且如何從這個對象中獲取數組元素。

最后不要忘記,我們需要使用cJSON_Delete函數釋放內存:

cJSON_Delete(json);

這就是簡單的將JSON數據轉換為C數組的過程。希望這個教程能夠幫助你更好地理解如何使用CJSON在C語言中處理JSON數據。