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

c 讀取寫入json文件內容

謝彥文2年前8瀏覽0評論

C語言是一種高級程序設計語言,常用于開發系統軟件和應用軟件。在C語言中,讀取和寫入JSON文件是經常使用的操作。JSON是一種輕量級的數據交換格式,常用于Web應用程序和移動應用程序中。以下是如何在C語言中讀取和寫入JSON文件的詳細步驟。

要讀取JSON文件,需要使用C語言中的標準輸入輸出庫(stdio.h)。以下是一個示例程序:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main()
{
FILE *fp;
char buffer[1024];
json_t *root;
json_error_t error;
fp = fopen("test.json", "r");
if (!fp)
{
fprintf(stderr, "Error opening file\n");
exit(1);
}
fread(buffer, 1, 1024, fp);
fclose(fp);
root = json_loads(buffer, 0, &error);
if (!root)
{
fprintf(stderr, "Error parsing JSON\n");
exit(1);
}
json_t *value = json_object_get(root, "key");
if (json_is_string(value))
{
const char *str = json_string_value(value);
printf("Value is %s\n", str);
}
else
{
printf("Value is not a string\n");
}
json_decref(root);
return 0;
}

在上面的示例程序中,首先使用fopen函數打開JSON文件。如果打開文件失敗,則顯示一個錯誤消息并退出程序。如果成功打開文件,則使用fread函數讀取文件內容到緩沖區中。然后使用json_loads函數將JSON字符串解析為JSON對象。然后可以使用json_object_get函數獲取JSON對象中的值。最后使用json_decref函數釋放JSON對象。

要寫入JSON文件,需要使用標準輸入輸出庫(stdio.h)和json-c庫(json-c.h)。以下是一個示例程序:

#include <stdio.h>
#include <json-c/json.h>
int main()
{
const char *filename = "test.json";
json_object *root = json_object_new_object();
json_object *string = json_object_new_string("value");
json_object_object_add(root, "key", string);
FILE *fp = fopen(filename, "w");
if (!fp)
{
fprintf(stderr, "Error opening file\n");
return 1;
}
fputs(json_object_to_json_string(root), fp);
fclose(fp);
json_object_put(root);
return 0;
}

在上面的示例程序中,首先使用json_object_new_object函數創建JSON對象,并使用json_object_new_string函數添加一個字符串值。然后使用json_object_object_add函數將JSON對象添加到JSON對象中。接下來使用fopen函數打開要寫入的JSON文件。如果打開文件失敗,則顯示一個錯誤消息并返回一個非零值。如果成功打開文件,則使用fputs函數將JSON對象寫入文件中。最后釋放JSON對象。