色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

C 把json轉換成數組

錢瀠龍2年前8瀏覽0評論

在C中,我們可以使用標準庫中的cJSON庫來進行json的解析和構建。而將json轉換成數組,則需要借助cJSON庫中提供的一些函數。

首先,我們需要調用cJSON_Parse()函數將json字符串解析成cJSON對象:

char *json_str = "{\"name\":\"Tom\", \"age\":18}";
cJSON *json = cJSON_Parse(json_str);

接著,我們可以通過cJSON_GetArraySize()函數來獲取json數組的大小:

int size = cJSON_GetArraySize(json);

然后,我們可以使用cJSON_GetArrayItem()函數來獲取json數組中的每一個元素,并將其轉換成相應的數據類型。例如,以下代碼將獲取json數組中的第一個元素,并將其轉換成字符串類型:

cJSON *item = cJSON_GetArrayItem(json, 0);
char *str = cJSON_GetStringValue(item);

另外,如果json數組中的元素不是基本類型,而是一個嵌套的json,則我們可以通過遞歸調用cJSON_GetArrayItem()函數來獲取其內部元素。例如,以下代碼將獲取json數組中第二個元素的“info”字段的值:

cJSON *item = cJSON_GetArrayItem(json, 1);
cJSON *info = cJSON_GetObjectItem(item, "info");
char *value = cJSON_GetStringValue(info);

最后,我們需要在使用完cJSON對象后調用cJSON_Delete()函數來釋放內存:

cJSON_Delete(json);

使用以上方法,我們可以很方便地將json轉換成數組,并獲取其內部元素的值。