欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c json數據保存文件怎么打開

錢多多2年前7瀏覽0評論

在進行C語言開發過程中,我們常常需要使用JSON格式的數據。因此,在寫C語言程序時,保存和讀取JSON數據至文件成為了常見的需求之一。

下面是一份示例代碼,用于將JSON數據保存至文件:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main()
{
/* 創建JSON對象 */
json_t *root = json_object();
json_t *name = json_string("Alex");
json_t *age = json_integer(18);
json_t *hobby = json_array();
const char *hobbies[] = {"reading", "swimming", "coding"};
int i;
for (i = 0; i < 3; i++) {
json_array_append_new(hobby, json_string(hobbies[i]));
}
json_object_set_new(root, "name", name);
json_object_set_new(root, "age", age);
json_object_set_new(root, "hobby", hobby);
/* 保存JSON對象到文件 */
FILE *fp = fopen("data.json", "w");
json_dumpf(root, fp, JSON_INDENT(4));
fclose(fp);
/* 釋放內存 */
json_decref(root);
return 0;
}

以上代碼首先創建了一個JSON對象,并向其中添加了三個成員:name、age和hobby。然后,使用json_dumpf()函數將JSON對象保存到文件“data.json”中。

接下來是一份示例代碼,用于從文件中讀取JSON數據:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main()
{
/* 從文件中讀取JSON對象 */
FILE *fp = fopen("data.json", "r");
char buffer[1024];
size_t size = fread(buffer, 1, 1024, fp);
buffer[size] = '\0';
fclose(fp);
json_t *root = json_loads(buffer, 0, NULL);
if (!root) {
fprintf(stderr, "failed to parse JSON content\n");
return -1;
}
/* 讀取JSON對象中的成員 */
const char *name = json_string_value(json_object_get(root, "name"));
int age = json_integer_value(json_object_get(root, "age"));
json_t *hobby = json_object_get(root, "hobby");
int i;
printf("name: %s\n", name);
printf("age: %d\n", age);
printf("hobbies: ");
size_t count = json_array_size(hobby);
for (i = 0; i < count; i++) {
printf("%s ", json_string_value(json_array_get(hobby, i)));
}
printf("\n");
/* 釋放內存 */
json_decref(root);
return 0;
}

以上代碼首先使用fread()函數從文件中讀取JSON數據,并使用json_loads()函數將其轉換為JSON對象。接著,依次讀取JSON對象中的成員,并打印輸出。最后,使用json_decref()函數釋放內存。

在實際的開發過程中,我們可以根據需求對以上代碼進行修改,來滿足自己的數據保存和讀取需求。