色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c語言json配置文件的讀寫

呂致盈2年前7瀏覽0評論

JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,由于其各種語言都支持而得到廣泛的應用。在C語言中,使用第三方庫cJSON可以很方便地實現JSON格式文件的讀寫。

使用cJSON庫需要先在代碼中包含頭文件cJSON.h。接下來,可以使用cJSON_Parse()函數將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_GetObjectItem()函數。該函數可以根據鍵名獲取對應的value,返回一個cJSON子對象。

cJSON *name_obj = cJSON_GetObjectItem(root, "name");
char *name = name_obj->valuestring;

上述代碼將JSON對象root中鍵名為"name"的value獲取并賦值給字符串變量name

若要修改JSON文件中的某個值,可以使用cJSON_SetValuestring()函數。例如,要將"name"的值修改為"Tom"

cJSON *name_obj = cJSON_GetObjectItem(root, "name");
cJSON_SetValuestring(name_obj, "Tom");

最后,利用cJSON_PrintUnformatted()函數可以將cJSON對象返回為JSON格式的字符串,從而方便地寫入JSON格式文件。

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