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

c 調(diào)用json文件

江奕云2年前11瀏覽0評論

在C語言中調(diào)用JSON文件,需要使用第三方庫來實現(xiàn)。常用的JSON解析庫有 cJSON、json-c 和 Jansson 等。

下面以 cJSON 庫為例,介紹C語言如何調(diào)用JSON文件。

#include "cJSON.h"
#include <stdio.h>
int main() {
// 讀取JSON文件內(nèi)容
FILE *f = fopen("example.json", "rb");
fseek(f, 0, SEEK_END);
long len = ftell(f);
fseek(f, 0, SEEK_SET);
char *data = (char*)malloc(len + 1);
fread(data, 1, len, f);
fclose(f);
data[len] = '\0';
// 解析JSON文件
cJSON *root = cJSON_Parse(data);
cJSON *name = cJSON_GetObjectItem(root, "name");
cJSON *age = cJSON_GetObjectItem(root, "age");
cJSON *hobbies = cJSON_GetObjectItem(root, "hobbies");
// 輸出JSON文件內(nèi)容
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
printf("Hobbies:\n");
cJSON *hobby = NULL;
cJSON_ArrayForEach(hobby, hobbies) {
printf(" - %s\n", hobby->valuestring);
}
// 釋放內(nèi)存
cJSON_Delete(root);
free(data);
return 0;
}

上述代碼中,首先讀取 JSON 文件的內(nèi)容并將其存儲在 char 類型的 data 數(shù)組中。然后使用 cJSON 庫的 cJSON_Parse 函數(shù),將數(shù)據(jù)解析為 cJSON 對象。接著通過 cJSON_GetObjectItem 函數(shù),獲取到 JSON 文件中各個字段的值,并使用 printf 函數(shù)打印出來。

最后,使用 cJSON_Delete 函數(shù)釋放內(nèi)存,并使用 free 函數(shù)釋放 data 數(shù)組的內(nèi)存。