JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,由于其各種語言都支持而得到廣泛的應用。在C語言中,使用第三方庫cJSON可以很方便地實現JSON格式文件的讀寫。
使用cJSON庫需要先在代碼中包含頭文件
char *json_str = "{\"name\":\"John Smith\",\"age\":32,\"occupation\":\"teacher\"}"; cJSON *root = cJSON_Parse(json_str);
上述代碼將一個JSON格式的字符串轉化成cJSON對象root
。接下來,就可以使用cJSON對象提供的一系列函數來讀取和修改JSON格式數據。
例如,若要獲取JSON文件中的某個值,可以使用
cJSON *name_obj = cJSON_GetObjectItem(root, "name"); char *name = name_obj->valuestring;
上述代碼將JSON對象root
中鍵名為"name"
的value獲取并賦值給字符串變量name
。
若要修改JSON文件中的某個值,可以使用"name"
的值修改為"Tom"
:
cJSON *name_obj = cJSON_GetObjectItem(root, "name"); cJSON_SetValuestring(name_obj, "Tom");
最后,利用
char *json_str = cJSON_PrintUnformatted(root); FILE *fp = fopen("config.json", "w"); fprintf(fp, "%s", json_str); fclose(fp);
上述代碼將cJSON對象root
輸出為JSON格式的字符串json_str
并寫入JSON格式文件config.json
。