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

c 讀取配置文件 json

阮建安1年前9瀏覽0評論

在C語言中讀取JSON格式的配置文件比較常見,本文將介紹如何使用C語言讀取JSON文件。

首先需要用到的是JSON庫,目前比較常用的有cJSON和json-c庫。

// 使用cJSON庫讀取JSON文件
#include <stdio.h>
#include <cJSON.h>
int main()
{
FILE *fp = fopen("config.json", "rb");  // 打開JSON文件
if(fp == NULL)
{
printf("open config.json fail!");
return -1;
}
fseek(fp, 0, SEEK_END);
int len = ftell(fp);    // 獲取文件長度
fseek(fp, 0, SEEK_SET);
char *s = malloc(len + 1);
fread(s, len, 1, fp);
s[len] = '\0';
fclose(fp);
cJSON *root = cJSON_Parse(s);
if(!root)
{
printf("parse fail!\n");
return -1;
}
cJSON *node = cJSON_GetObjectItem(root, "name");  // 獲取節(jié)點(diǎn)
printf("name: %s\n", node->valuestring);
node = cJSON_GetObjectItem(root, "age");
printf("age: %d\n", node->valueint);
cJSON_Delete(root);
return 0;
}

這段代碼使用cJSON庫打開并讀取JSON文件"config.json",然后通過cJSON_Parse函數(shù)將讀取到的內(nèi)容轉(zhuǎn)換為JSON對象,在通過cJSON_GetObjectItem函數(shù)獲取指定名稱的JSON節(jié)點(diǎn)。

當(dāng)然,使用json-c庫也是類似的,只需要包含頭文件json-c/json.h,接下來的操作和cJSON基本一致。

// 使用json-c庫讀取JSON文件
#include <stdio.h>
#include <json-c/json.h>
int main()
{
FILE *fp = fopen("config.json", "rb");  // 打開JSON文件
if(fp == NULL)
{
printf("open config.json fail!");
return -1;
}
fseek(fp, 0, SEEK_END);
int len = ftell(fp);    // 獲取文件長度
fseek(fp, 0, SEEK_SET);
char *s = malloc(len + 1);
fread(s, len, 1, fp);
s[len] = '\0';
fclose(fp);
struct json_object *root = json_tokener_parse(s);
if(!root)
{
printf("parse fail!\n");
return -1;
}
struct json_object *node = json_object_object_get(root, "name");  // 獲取節(jié)點(diǎn)
printf("name: %s\n", json_object_get_string(node));
node = json_object_object_get(root, "age");
printf("age: %d\n", json_object_get_int(node));
json_object_put(root);
return 0;
}

以上就是使用C語言讀取JSON配置文件的方法,可以根據(jù)實(shí)際需求選擇使用cJSON或json-c庫來完成。