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

c json序列化到文件中

錢瀠龍2年前8瀏覽0評論

JSON是一種常見的數據交互格式,而在C語言中,我們也可以方便地通過JSON進行數據的序列化和反序列化。在本文中,我們將介紹如何將JSON數據序列化到文件中。

首先,我們需要引入相應的頭文件,以及JSON庫的頭文件:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <cJSON.h>

接著,我們可以定義一個需要序列化的JSON對象:

cJSON* root = cJSON_CreateObject();
cJSON_AddStringToObject(root, "name", "John");
cJSON_AddNumberToObject(root, "age", 30);
cJSON_AddItemToObject(root, "address",
cJSON_CreateStringArray((const char *[]){"New York", "USA"}, 2));

然后,我們可以使用cJSON庫提供的函數將這個JSON對象序列化為一個字符串:

char* json_str = cJSON_Print(root);

最后,我們可以將這個字符串寫入一個文件中:

FILE* file = fopen("data.json", "w");
if(file){
fputs(json_str, file);
fclose(file);
}

完整代碼如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <cJSON.h>
int main(){
cJSON* root = cJSON_CreateObject();
cJSON_AddStringToObject(root, "name", "John");
cJSON_AddNumberToObject(root, "age", 30);
cJSON_AddItemToObject(root, "address",
cJSON_CreateStringArray((const char *[]){"New York", "USA"}, 2));
char* json_str = cJSON_Print(root);
FILE* file = fopen("data.json", "w");
if(file){
fputs(json_str, file);
fclose(file);
}
cJSON_Delete(root);
return 0;
}

執行完上述代碼,我們便可以在當前目錄下找到一個名為data.json的文件,其中包含了序列化后的JSON數據。