色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 操作讀寫json文件

劉柏宏1年前7瀏覽0評論

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_Parse()函數解析JSON字符串,獲取到其中的字段信息,之后就對該JSON文件做一些操作。

最后,我們使用函數打印出一個新的JSON文件,并使用fprintf()函數將其寫入一個新的JSON文件中。

通過以上簡單的實例,我們可以看到使用cJSON庫讀寫JSON文件的過程是非常簡單的。它不僅可以使JSON文件的讀取更加方便,而且可以使JSON文件的生成更加簡單。