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

c 怎么生成json文件怎么打開

張吉惟2年前9瀏覽0評論

JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,常常用于服務器與客戶端之間的數據傳輸。在C語言中,我們可以使用第三方庫cJSON來生成和解析JSON文件。

首先,我們需要從GitHub上下載cJSON的源碼,并將頭文件和源文件加入到我們的工程中。

#include "cJSON.h"
int main(void)
{
// 生成JSON對象
cJSON *root = cJSON_CreateObject();
// 添加鍵值對
cJSON_AddNumberToObject(root, "age", 18);
cJSON_AddStringToObject(root, "name", "Jack");
cJSON_AddBoolToObject(root, "isMale", true);
// 轉換成JSON格式
char *jsonStr = cJSON_Print(root);
// 保存到文件中
FILE *fp = fopen("example.json", "wb");
fputs(jsonStr, fp);
fclose(fp);
// 釋放內存
cJSON_Delete(root);
free(jsonStr);
return 0;
}

上面的代碼演示了如何生成一個包含三個鍵值對的JSON對象,并將其保存到example.json文件中。其中,cJSON_CreateObject()用于創建一個JSON對象,cJSON_AddNumberToObject()/cJSON_AddStringToObject()/cJSON_AddBoolToObject()用于添加不同類型的鍵值對,cJSON_Print()用于將對象轉換成字符串格式,fopen()/fputs()/fclose()用于將字符串寫入到文件中,cJSON_Delete()用于釋放內存。

解析JSON文件同樣也非常簡單,還是使用cJSON庫來完成,代碼如下:

#include "cJSON.h"
int main(void)
{
// 讀取JSON文件內容
FILE *fp = fopen("example.json", "rb");
fseek(fp, 0, SEEK_END);
int len = ftell(fp);
fseek(fp, 0, SEEK_SET);  // 將文件指針重置為起始位置
char *jsonStr = (char *)malloc(len + 1);
fread(jsonStr, len, 1, fp);
fclose(fp);
jsonStr[len] = '\0';  // 將字符串末尾加上空字符
// 解析JSON格式
cJSON *root = cJSON_Parse(jsonStr);
// 取出鍵值對
cJSON *age = cJSON_GetObjectItemCaseSensitive(root, "age");
cJSON *name = cJSON_GetObjectItemCaseSensitive(root, "name");
cJSON *isMale = cJSON_GetObjectItemCaseSensitive(root, "isMale");
printf("age: %d\n", age->valueint);
printf("name: %s\n", name->valuestring);
printf("isMale: %d\n", isMale->valueint);
// 釋放內存
cJSON_Delete(root);
free(jsonStr);
return 0;
}

上面的代碼演示了如何讀取example.json文件內容并解析為一個JSON對象,然后通過cJSON_GetObjectItemCaseSensitive()函數來獲取指定鍵對應的值,最后分別輸出三個鍵值對的值。