欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 讀 json文件

林子帆1年前7瀏覽0評論

JSON(JavaScript Object Notation)是一種輕量級的數據交換格式。C語言通過讀取JSON文件,可以實現對JSON數據的解析與處理。下面來了解一下如何在C語言中讀取JSON文件。

C語言提供了很多JSON解析庫,如cJSON,json-c等。這些庫的使用方法基本是一樣的,這里以cJSON為例,介紹一下如何在C語言中讀取JSON文件。

//引用cJSON解析庫頭文件
#include "cJSON.h"
int main(void)
{
//打開JSON文件
FILE *fp = fopen("test.json", "r");
if (fp == NULL)
{
printf("open file error\n");
return 1;
}
//獲取JSON文件長度
fseek(fp, 0, SEEK_END);
long file_size = ftell(fp);
fseek(fp, 0, SEEK_SET);
//讀取JSON文件內容
char *json_str = (char*)malloc(file_size + 1);
fread(json_str, 1, file_size, fp);
json_str[file_size] = '\0';
//關閉JSON文件
fclose(fp);
//解析JSON數據
cJSON *json = cJSON_Parse(json_str);
if (json == NULL)
{
printf("parse json error\n");
return 1;
}
//獲取JSON數據
cJSON *name = cJSON_GetObjectItem(json, "name");
if (name != NULL)
{
printf("name = %s\n", name->valuestring);
}
//釋放JSON數據內存
cJSON_Delete(json);
return 0;
}

上述代碼中,通過fopen函數打開JSON文件,并使用fseek函數獲取JSON文件長度。在讀取JSON文件內容時,使用malloc函數為json_str分配內存空間,讀取文件內容后在末尾加上'\0',表示字符串結束。解析JSON數據時,使用cJSON_Parse函數將json_str解析成cJSON對象。調用cJSON_GetObjectItem函數獲取JSON數據,并將獲取到的數據輸出。最后,使用cJSON_Delete函數釋放cJSON對象內存,釋放json_str內存。

總之,通過cJSON等JSON解析庫可以很方便地在C語言中讀取JSON文件數據。需要注意的是,JSON文件格式要符合標準格式,否則會解析失敗。