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

c 讀取寫入json

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

JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,在許多應用程序中都得到了廣泛的應用。在C語言中,我們可以使用第三方庫來讀取和寫入JSON格式的文件。

首先,我們需要使用一個JSON庫。常用的有cJSON和Jansson。這里以cJSON為例,在cJSON官網上可以直接下載源代碼。

#include <stdio.h>
#include <cJSON.h>
int main()
{
/* 創建JSON對象 */
cJSON *root = cJSON_CreateObject();
/* 向JSON對象中添加鍵值對 */
cJSON_AddStringToObject(root, "name", "張三");
cJSON_AddNumberToObject(root, "age", 20);
cJSON_AddFalseToObject(root, "isMarried");
/* 將JSON對象轉換為字符串 */
char *json_str = cJSON_Print(root);
/* 打印JSON字符串 */
printf("%s\n", json_str);
/* 將JSON字符串寫入文件 */
FILE *fp = fopen("test.json", "w");
fprintf(fp, "%s\n", json_str);
fclose(fp);
/* 釋放JSON對象 */
cJSON_Delete(root);
return 0;
}

上面的代碼演示了如何使用cJSON創建一個JSON對象,并向其中添加鍵值對,最后將其轉換為字符串并寫入文件。需要注意的是,在使用完JSON對象后需要手動將其釋放。

接下來,我們來看看如何讀取一個JSON文件:

#include <stdio.h>
#include <cJSON.h>
int main()
{
/* 從文件中讀取JSON字符串 */
FILE *fp = fopen("test.json", "r");
fseek(fp, 0, SEEK_END);
long file_size = ftell(fp);
fseek(fp, 0, SEEK_SET);
char *json_str = (char*)malloc(file_size + 1);
fread(json_str, 1, file_size, fp);
fclose(fp);
/* 解析JSON字符串 */
cJSON *root = cJSON_Parse(json_str);
/* 從JSON對象中獲取鍵值對 */
cJSON *name = cJSON_GetObjectItem(root, "name");
if (name != NULL && cJSON_IsString(name))
{
printf("%s\n", name->valuestring);
}
cJSON *age = cJSON_GetObjectItem(root, "age");
if (age != NULL && cJSON_IsNumber(age))
{
printf("%d\n", age->valueint);
}
cJSON *isMarried = cJSON_GetObjectItem(root, "isMarried");
if (isMarried != NULL && cJSON_IsFalse(isMarried))
{
printf("未婚\n");
}
/* 釋放JSON對象 */
cJSON_Delete(root);
return 0;
}

上面的代碼演示了如何從文件中讀取JSON字符串,并解析為JSON對象。之后我們就可以通過cJSON_GetObjectItem函數來獲取JSON對象中的鍵值對。

總之,通過使用第三方庫,我們可以很方便地在C語言中讀取和寫入JSON格式的文件,實現應用程序之間的數據交換。

下一篇vue-py.js