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

c json怎么解析字符串數組

傅智翔2年前8瀏覽0評論

C JSON是一種處理JSON格式數據的開源庫。其較好的移植性和速度使其被廣泛使用。

在C語言中,字符串數組可以用字符指針數組來表示。JSON中,可以使用數組數據類型來表示一個字符串數組。那么,我們怎么樣才能在使用C JSON解析JSON格式數據時,正確地解析字符串數組呢?下面就讓我們來看一下代碼:

#include <stdio.h>
#include <cjson/cJSON.h>
#define MAX_SIZE 1024
int main() {
char str[MAX_SIZE] = "{\"name\":\"Tom\",\"hobbies\":[\"reading\",\"swimming\",\"cooking\"]}";
cJSON* root = cJSON_Parse(str);
cJSON* hobbies = cJSON_GetObjectItem(root, "hobbies");
int size = cJSON_GetArraySize(hobbies);
for (int i = 0; i < size; i++) {
cJSON* item = cJSON_GetArrayItem(hobbies, i);
char* hobby = cJSON_PrintUnformatted(item);
printf("%s\n", hobby);
free(hobby);
}
cJSON_Delete(root);
return 0;
}

上述代碼中,我們首先定義了一個JSON格式的字符串,并將其解析為cJSON類型的root。接著,我們通過cJSON_GetObjectItem函數獲取到hobbies的cJSON類型的指針hobbies,并使用cJSON_GetArraySize函數獲取到hobbies的元素個數size。然后,我們使用for循環遍歷hobbies中的每一個元素,通過cJSON_GetArrayItem獲取到hobbies中的某一個元素,并使用cJSON_PrintUnformatted函數將其轉換為一個字符串。最后,我們將這個字符串打印出來,并釋放掉這個字符串所占用的內存。

總的來說,解析字符串數組需要使用cJSON_GetArraySize以及cJSON_GetArrayItem這兩個函數。通過這兩個函數,我們可以很方便地獲取到JSON數組大小以及數組中的元素。