使用cjson庫解析JSON文件的步驟如下:
從cjson官方網站(https://github.com/DaveGamble/cJSON)下載cjson庫,并將其添加到你的C語言項目中。
包含cjson頭文件:
#include "cJSON.h"
讀取JSON文件內容:
// 打開JSON文件
FILE *file = fopen("example.json", "r");
if (file == NULL) {
// 處理文件打開失敗的情況
return;
}
// 獲取JSON文件大小
fseek(file, 0, SEEK_END);
long fileSize = ftell(file);
fseek(file, 0, SEEK_SET);
// 分配內存并讀取JSON內容
char *jsonString = (char *)malloc(fileSize + 1);
fread(jsonString, 1, fileSize, file);
jsonString[fileSize] = '\0';
// 關閉文件
fclose(file);
解析JSON內容:
// 解析JSON字符串
cJSON *json = cJSON_Parse(jsonString);
if (json == NULL) {
// 處理解析失敗的情況
free(jsonString);
return;
}
// 從JSON對象中獲取需要的數據
cJSON *name = cJSON_GetObjectItemCaseSensitive(json, "name");
if (cJSON_IsString(name) && (name->valuestring != NULL)) {
printf("Name: %s\n", name->valuestring);
}
cJSON *age = cJSON_GetObjectItemCaseSensitive(json, "age");
if (cJSON_IsNumber(age) && (age->valuedouble != 0)) {
printf("Age: %.1f\n", age->valuedouble);
}
// 釋放資源
cJSON_Delete(json);
free(jsonString);
最后,記得釋放資源。
cJSON_Delete(json);
free(jsonString);
以上是使用cjson庫解析JSON文件的基本步驟。你可以根據實際需要進一步處理JSON對象中的數據。