cjson是一個C語言的json解析器,可以方便地讀取和處理json文件。在使用cjson讀取json文件時,可以按以下步驟操作。
1. 引入cjson庫
#include <stdio.h> #include <cjson/cJSON.h>
2. 讀取json文件
char *json; FILE *fp = fopen("example.json", "r"); fseek(fp, 0, SEEK_END); long pos = ftell(fp); fseek(fp, 0, SEEK_SET); json = (char*)malloc(pos + 1); fread(json, pos, 1, fp); fclose(fp); json[pos] = '\0';
3. 解析json數據
cJSON *root = cJSON_Parse(json); cJSON *person = cJSON_GetObjectItem(root, "person"); cJSON *name = cJSON_GetObjectItem(person, "name"); cJSON *age = cJSON_GetObjectItem(person, "age"); printf("name: %s, age: %d\n", name->valuestring, age->valueint);
4. 釋放內存
cJSON_Delete(root); free(json);
在以上代碼中,第一步是引入cjson庫,這是必須的步驟。第二步是讀取json文件,需要用到fopen、fseek和fread等文件操作函數。第三步是解析json數據,需要用到cJSON_Parse和cJSON_GetObjectItem等函數。第四步是釋放內存,避免內存泄漏。
通過以上步驟,可以方便地讀取和處理json文件。在json文件的處理過程中,還可以使用cJSON庫提供的其他函數,如cJSON_AddStringToObject、cJSON_AddNumberToObject等,實現對json文件的修改和創建。