在C語言中,要循環(huán)讀取JSON,我們可以使用cJSON庫。cJSON是一個輕量級的JSON解析庫,可以快速方便地解析JSON格式的字符串。
首先,我們需要將JSON字符串讀入到程序中。可以使用文件讀取函數(shù)fopen和fread將JSON文件讀取到緩沖區(qū)中,也可以使用curl庫獲取JSON字符串。
FILE *fp = fopen("data.json", "r"); if(fp == NULL) { printf("Failed to open file."); return 1; } char buffer[8192]; fread(buffer, sizeof(char), sizeof(buffer), fp); fclose(fp);
接著,我們可以使用cJSON庫的API來解析JSON字符串。cJSON解析后的數(shù)據(jù)結(jié)構(gòu)是一個樹狀結(jié)構(gòu),可以通過鏈表或遞歸方式訪問JSON中的所有元素。
cJSON *root = cJSON_Parse(buffer); if(root == NULL) { printf("Failed to parse JSON."); return 1; } cJSON *name = cJSON_GetObjectItem(root, "name"); printf("Name: %s\n", name->valuestring); cJSON *age = cJSON_GetObjectItem(root, "age"); printf("Age: %d\n", age->valueint);
最后,我們需要釋放cJSON解析后的內(nèi)存。可以使用cJSON_Delete函數(shù)來釋放解析后的內(nèi)存。
cJSON_Delete(root);
上述代碼可以讀取以下JSON字符串。
{ "name": "John", "age": 25 }
以上是使用C語言循環(huán)讀取JSON的基本方法,希望可以幫助到大家。