在C語言中,我們經常需要對數據進行處理,保存和讀取。JSON作為一種輕量級的數據交換格式,可以方便地進行數據存儲和傳輸。在C語言中,可以使用一些第三方開源庫來方便地處理JSON格式的數據。本文章將介紹在C語言中如何使用JSON進行數據保存。
首先,需要安裝cJSON這一第三方庫。cJSON是一款輕量級的C語言JSON解析器和生成器,具有簡單易用,高效穩定等特點。安裝cJSON后,就可以開始使用它來進行JSON格式數據的存儲了。
#include <stdio.h>#include <stdlib.h>#include <cjson/cJSON.h>int main()
{
//創建JSON對象
cJSON *root = cJSON_CreateObject();
//往JSON中添加鍵值對
cJSON_AddItemToObject(root, "name", cJSON_CreateString("Tom"));
cJSON_AddItemToObject(root, "age", cJSON_CreateNumber(20));
cJSON_AddItemToObject(root, "hobby", cJSON_CreateArray());
cJSON *hobby = cJSON_GetObjectItem(root, "hobby");
cJSON_AddItemToArray(hobby, cJSON_CreateString("reading"));
cJSON_AddItemToArray(hobby, cJSON_CreateString("music"));
//將JSON對象轉換為字符串格式
char *json_str = cJSON_Print(root);
printf("%s\n", json_str);
//將JSON字符串格式保存到文件中
FILE *fp = fopen("data.json", "w");
if(fp != NULL)
{
fputs(json_str, fp);
fclose(fp);
}
else
{
printf("Open file failed!\n");
}
//釋放JSON對象和字符串內存
cJSON_Delete(root);
free(json_str);
json_str = NULL;
return 0;
}
代碼解釋:
1. 引入cJSON庫的頭文件
2. 創建JSON對象root
3. 往JSON對象中添加鍵值對:name,age,hobby
4. 將hobby設為數組類型,并往數組添加元素
5. 將JSON對象root轉換為字符串json_str
6. 將字符串json_str保存到文件data.json中
7. 釋放JSON對象root和字符串內存
上述代碼的運行結果為:
{"name":"Tom","age":20,"hobby":["reading","music"]}
可以看到,JSON對象root中的數據已經被轉換成了JSON格式的字符串,并成功保存到文件data.json中。
在C語言中使用JSON格式進行數據保存可以大大簡化數據處理的流程,方便數據的存儲和傳輸。cJSON這一開源庫具有靈活的應用和高效穩定的特點,適合初學者和開發者使用。
上一篇python 換行和回車
下一篇python 捕獲數據包