JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,它易于閱讀和編寫,并且在不同平臺上都具有良好的兼容性。在C語言中,我們可以使用第三方庫進行本地讀寫JSON。
一個流行的C語言JSON解析庫是cJSON。cJSON是一個輕量級的庫,不需要其他任何依賴項。其操作很簡單:我們只需要使用cJSON_Parse()函數將JSON字符串解析為cJSON類型的對象,然后可以使用cJSON_GetObjectItem()和cJSON_GetArrayItem()等函數獲取數據或者進行操作。
cJSON *root = cJSON_Parse(json_str); //解析JSON字符串 cJSON *item = cJSON_GetObjectItem(root,"name"); //獲取JSON對象的name項 char *name = cJSON_Print(item); //將name項打印出來 cJSON_Delete(root); //刪除解析后的cJSON對象
對于本地讀寫,我們可以將cJSON對象寫入JSON文件中,或從JSON文件中讀取JSON對象。
FILE *fp = fopen("data.json", "w"); //打開文件 char *json_str = cJSON_Print(root); //將cJSON對象轉換成JSON字符串 fputs(json_str, fp); //將JSON字符串寫入文件 fclose(fp); //關閉文件
FILE *fp = fopen("data.json", "r"); //打開文件 char buffer[1024]; while(fgets(buffer, sizeof(buffer), fp) != NULL){ //逐行讀取文件內容 cJSON *root = cJSON_Parse(buffer); //解析JSON字符串 //... cJSON_Delete(root); //刪除解析后的cJSON對象 } fclose(fp); //關閉文件
在使用cJSON進行本地讀寫JSON時,需要注意內存泄漏問題。我們需要手動調用cJSON_Delete()函數刪除解析后的cJSON對象,以避免內存泄漏。
上一篇pdf預覽插件vue
下一篇python 畫圖心型