近年來,以JSON為格式的數據交互逐漸成為主流。在C語言中,如何解析JSON格式的數據,特別是數組數據呢?
#include "cJSON.h"
int main(){
char* json_string = "{\"name\": \"Tom\",\"scores\": [80, 90, 95]}";
cJSON* root = cJSON_Parse(json_string);
if (!root) {
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
return 1;
}
cJSON* scores = cJSON_GetObjectItem(root, "scores");
if (cJSON_IsArray(scores)) {
int array_size = cJSON_GetArraySize(scores);
for (int i = 0; i< array_size; i++) {
cJSON* array_item = cJSON_GetArrayItem(scores, i);
if (cJSON_IsNumber(array_item)) {
printf("Score%d: %d\n", i + 1, array_item->valueint);
}
}
}
cJSON_Delete(root);
return 0;
}
以上為一個簡單的JSON數組解析示例。首先,我們使用cJSON庫中的cJSON_Parse()函數將JSON字符串解析為cJSON的根節點,然后使用cJSON_GetObjectItem()函數獲取scores數組節點。
接著,我們判斷scores節點是否為數組,如果是,獲取數組大小,并使用循環和cJSON_GetArrayItem()函數,獲取每一個數組元素,判斷元素是否為數字類型,如果是,則打印該元素的值。
最后,我們使用cJSON_Delete()函數釋放cJSON節點內存。
使用以上方法,可以輕松解析JSON格式的數組數據。
上一篇vue 的作用
下一篇html怎么設置字體特效