C語言中,讀取JSON中的值可以使用第三方庫 cJSON。該庫提供了簡單易懂的 API 函數,可以通過調用不同的函數來讀取不同類型的 JSON 值。
#include <cJSON.h>
int main() {
// 讀取字符串類型的值
cJSON *json = cJSON_Parse("{\"name\":\"張三\"}");
char *name = cJSON_GetObjectItem(json, "name")->valuestring;
printf("姓名:%s\n", name);
// 讀取數值類型的值
json = cJSON_Parse("{\"age\":18}");
int age = cJSON_GetObjectItem(json, "age")->valueint;
printf("年齡:%d\n", age);
// 讀取數組類型的值
json = cJSON_Parse("{\"scores\":[80, 90, 95]}");
cJSON *scores = cJSON_GetObjectItem(json, "scores");
int score1 = cJSON_GetArrayItem(scores, 0)->valueint;
int score2 = cJSON_GetArrayItem(scores, 1)->valueint;
int score3 = cJSON_GetArrayItem(scores, 2)->valueint;
printf("成績:%d, %d, %d\n", score1, score2, score3);
cJSON_Delete(json);
return 0;
}
通過上述示例,我們可以清晰地看出 cJSON 函數的用法,先通過 cJSON_Parse 函數解析 JSON 字符串,再通過不同的 cJSON_GetObjectItem 和 cJSON_GetArrayItem 獲取對應的 JSON 值。