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

c json讀寫文件

榮姿康2年前9瀏覽0評論

JSON是一種輕量級數據交換格式,廣泛應用于互聯網應用程序中,C語言中有許多庫可用于處理JSON格式的數據,其中一個常用的庫是cJSON。cJSON能夠將JSON格式的數據解析為C語言中的數據結構,能夠方便地讀寫JSON文件。

#include <stdio.h>
#include <cJSON.h>
int main() {
char *json_str = "{\"name\":\"Tom\", \"age\":20, \"hobby\":[\"swim\", \"run\"]}";
cJSON *root = cJSON_Parse(json_str);
// read
cJSON *name = cJSON_GetObjectItem(root, "name");
printf("name: %s\n", name->valuestring);
cJSON *age = cJSON_GetObjectItem(root, "age");
printf("age: %d\n", age->valueint);
cJSON *array = cJSON_GetObjectItem(root, "hobby");
printf("hobby:\n");
for(int i = 0; i< cJSON_GetArraySize(array); i++) {
cJSON *item = cJSON_GetArrayItem(array, i);
printf("\t%s\n", item->valuestring);
}
// write
cJSON_AddItemToObject(root, "gender", cJSON_CreateString("male"));
cJSON *file = fopen("data.json", "w+");
char *json_file = cJSON_Print(root);
fputs(json_file, file);
fclose(file);
cJSON_Delete(root);
return 0;
}

上面的代碼演示了如何用cJSON庫讀取JSON字符串,并將結果解析為C語言中的數據結構。我們使用cJSON_GetObjectItem()函數獲取JSON對象中的屬性值和數組元素,然后打印出來。

接下來的代碼演示了如何向JSON對象中添加新屬性,并將修改后的JSON字符串寫入文件中,這里我們使用cJSON_AddItemToObject()函數新增一個屬性gender,并將修改后的JSON字符串寫入data.json文件中。

通過以上代碼示例,你可以看到cJSON庫非常易于使用,能夠方便地讀寫JSON文件,并且支持檢查和處理JSON格式錯誤。在實際開發中,可以結合其他的庫或框架,使用cJSON解析API返回的JSON數據,或將服務端返回的JSON數據與客戶端進行交互,實現更加靈活的數據交互方式。