JSON是一種輕量級的數(shù)據(jù)交換格式,常用于前端與后端的數(shù)據(jù)傳輸和存儲。在C語言中,我們可以使用一些開源的庫來生成和解析JSON文件,如cJSON和jansson。
生成JSON文件的步驟如下:
// 引入庫 #include "cJSON.h" // 創(chuàng)建JSON對象 cJSON *root = cJSON_CreateObject(); // 添加鍵值對 cJSON_AddNumberToObject(root, "id", 123); cJSON_AddStringToObject(root, "name", "json test"); cJSON_AddBoolToObject(root, "success", true); // 生成JSON字符串 char *json_str = cJSON_Print(root); // 釋放JSON對象 cJSON_Delete(root); // 將JSON字符串寫入文件 FILE *fp = fopen("data.json", "w"); fputs(json_str, fp); fclose(fp);
打開JSON文件的步驟如下:
// 打開JSON文件 FILE *fp = fopen("data.json", "r"); // 讀取JSON字符串 char buffer[1024]; fread(buffer, 1024, 1, fp); // 解析JSON字符串 cJSON *root = cJSON_Parse(buffer); // 獲取鍵值對 cJSON *id = cJSON_GetObjectItem(root, "id"); cJSON *name = cJSON_GetObjectItem(root, "name"); cJSON *success = cJSON_GetObjectItem(root, "success"); // 打印結(jié)果 printf("id: %d\n", id->valueint); printf("name: %s\n", name->valuestring); printf("success: %d\n", success->valueint); // 釋放JSON對象 cJSON_Delete(root); // 關(guān)閉文件 fclose(fp);
通過使用cJSON或jansson庫,我們可以輕松地在C語言中生成和解析JSON文件,方便地處理數(shù)據(jù)傳輸和存儲。