在C語言中遍歷JSON數(shù)據(jù),需要使用第三方庫進行解析,最常見的是使用cJSON庫。
#include <stdio.h> #include <cjson/cJSON.h> int main() { char *json_string = "{\"姓名\":\"張三\",\"年齡\":20,\"愛好\":[\"游泳\",\"游戲\"]}"; cJSON *root = cJSON_Parse(json_string); if (root) { cJSON *name = cJSON_GetObjectItem(root, "姓名"); cJSON *age = cJSON_GetObjectItem(root, "年齡"); cJSON *hobby = cJSON_GetObjectItem(root, "愛好"); if (name) { printf("姓名:%s\n", name->valuestring); } if (age) { printf("年齡:%d\n", age->valueint); } if (hobby) { printf("愛好:\n"); cJSON *hobby_elem = NULL; cJSON_ArrayForEach(hobby_elem, hobby) { printf("\t%s\n", hobby_elem->valuestring); } } } cJSON_Delete(root); return 0; }
首先需要將JSON字符串解析成cJSON對象。然后根據(jù)JSON的鍵獲取對應的值,通過valuestring或valueint獲取字符串或整數(shù)類型的值。如果值是數(shù)組類型,需要遍歷數(shù)組元素獲取每個元素的值。
使用cJSON庫對JSON數(shù)據(jù)進行解析,可以簡化C語言處理JSON數(shù)據(jù)的過程。