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

c 如何從本地接口取json數據

榮姿康2年前8瀏覽0評論
以C語言從本地接口取得JSON數據 C語言可以通過一些第三方庫來解析和讀取JSON數據,例如 cJSON 或者 Jansson。 首先,需要通過標準C庫的API來打開文件以獲取JSON數據。下面的代碼演示了如何打開并讀取一個名為 example.json 文件。
#include#includeint main() {
FILE *fp;
char c;
fp = fopen("example.json", "r"); //打開 example.json 文件
if (fp == NULL) {
printf("文件不存在!");
exit(1);
}
while (1) {
c = fgetc(fp); //逐個字符讀取文件
if (feof(fp)) { //文件結尾
break;
}
printf("%c", c); //打印文件內容
}
fclose(fp); //關閉文件
return 0;
}
輸出的內容將是 JSON 數據。 接下來,使用 JSON 庫來解析 JSON 數據。如下所示的代碼演示了如何使用 cJSON 庫來解析 JSON 數據。
#include#include#include "./cJSON.c" //用于解析 JSON 數據的庫
char *readJSONFile(char *filename) {
FILE *fptr;
long length;
char *data;
fptr = fopen(filename, "rb"); //以字節方式打開文件
if (fptr == NULL) {
printf("文件不存在!");
exit(1);
}
fseek(fptr, 0, SEEK_END); //將指針定位到文件末尾
length = ftell(fptr); //獲取文件長度
data = (char*)malloc(length + 1); //給 data 分配內存
memset(data, 0, length + 1); //初始化 data
fseek(fptr, 0, SEEK_SET); //將指針定位到文件開頭
fread(data, 1, length, fptr); //讀取文件數據到 data 中
fclose(fptr); //關閉文件
return data;
}
int main() {
char *data = NULL; //指向 JSON 數據的指針
cJSON *json = NULL; //指向 cJSON 數據的指針
data = readJSONFile("example.json"); //讀取 JSON 數據文件
json = cJSON_Parse(data); //解析 JSON 數據
//獲取 JSON 數據的值
cJSON *name = cJSON_GetObjectItem(json, "name");
cJSON *age = cJSON_GetObjectItem(json, "age");
cJSON *hobbies = cJSON_GetObjectItem(json, "hobbies");
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
printf("Hobbies: %s\n", cJSON_PrintUnformatted(hobbies));
cJSON_Delete(json);
free(data);
return 0;
}
現在,該代碼應該能夠正確地解析 JSON 數據并以適當的方式輸出其內容。 cJSON 庫還提供了許多其他功能,例如修改和創建 JSON 數據。在使用時,請參閱其文檔以了解其功能。