C語言可以通過讀寫文件的方式實(shí)現(xiàn)對JSON文件內(nèi)容的修改。假設(shè)我們要將一個(gè)名為"data.json"的JSON文件中的某個(gè)值進(jìn)行更改,可以按照以下步驟進(jìn)行:
1. 以"讀寫"的方式打開文件,獲取文件指針 FILE *fp=json_object *json_fopen("data.json","r+"); if(fp==NULL) { printf("打開文件失敗"); return -1; } 2. 讀取整個(gè)文件內(nèi)容并解析為JSON對象 json_object *json_obj=json_object_from_file("data.json"); 3. 修改JSON對象中的值 json_object_object_add(json_obj,"key_name",json_object_new_int(666)); 4. 將修改后的JSON對象重新寫入文件 rewind(fp); fputs(json_object_to_json_string(json_obj),fp); 5. 關(guān)閉文件指針 fclose(fp);
代碼解釋:
1. 使用fopen函數(shù)打開文件,返回一個(gè)文件指針(fp)。r+參數(shù)表示以"讀寫"的方式打開文件,文件不存在則創(chuàng)建。 2. 使用json_object_from_file函數(shù)將文件內(nèi)容解析為JSON對象(json_obj)。 3. 使用json_object_object_add函數(shù)修改JSON對象中指定鍵名的值。 4. 使用rewind函數(shù)定位到文件開頭,使用fputs函數(shù)將修改后的JSON對象重新寫入文件。 5. 使用fclose函數(shù)關(guān)閉文件指針。