C語言這門編程語言被廣泛使用,因為它具有良好的可讀性和可維護性。在C語言中,對于讀寫JSON文件,有一些庫和API是非常有用的。
其中,最常用的JSON庫之一是cJSON,它是一個輕量級的JSON解析器和生成器。下面是一個使用cJSON庫讀寫JSON文件的示例。
#include <stdio.h>
#include <cJSON.h>
int main() {
// 從文件讀取JSON
FILE *fp = fopen("example.json", "r");
char buffer[1024];
fread(buffer, 1, 1024, fp);
fclose(fp);
// 解析JSON
cJSON *root = cJSON_Parse(buffer);
if (!root) {
printf("Error before: %s\n", cJSON_GetErrorPtr());
return -1;
}
// 讀取JSON字段
cJSON *name = cJSON_GetObjectItem(root, "name");
cJSON *age = cJSON_GetObjectItem(root, "age");
cJSON *skills = cJSON_GetObjectItem(root, "skills");
// 打印JSON字段
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
cJSON *skill = NULL;
cJSON_ArrayForEach(skill, skills) {
printf("Skill: %s\n", skill->valuestring);
}
// 生成新的JSON
cJSON *new_root = cJSON_CreateObject();
cJSON_AddStringToObject(new_root, "name", "John");
cJSON_AddNumberToObject(new_root, "age", 30);
cJSON *new_skills = cJSON_CreateArray();
cJSON_AddItemToArray(new_skills, cJSON_CreateString("Java"));
cJSON_AddItemToArray(new_skills, cJSON_CreateString("Python"));
cJSON_AddItemToObject(new_root, "skills", new_skills);
// 將新的JSON寫入文件
fp = fopen("new_example.json", "w");
char *out = cJSON_Print(new_root);
fprintf(fp, "%s", out);
fclose(fp);
cJSON_Delete(root);
cJSON_Delete(new_root);
free(out);
return 0;
}
在上面的示例中,首先我們使用fopen()函數打開一個JSON文件,然后使用fread()函數讀取它的內容到一個緩沖區中。接著,使用
最后,我們使用 通過以上簡單的實例,我們可以看到使用cJSON庫讀寫JSON文件的過程是非常簡單的。它不僅可以使JSON文件的讀取更加方便,而且可以使JSON文件的生成更加簡單。
下一篇vue中使用夸克