C 語(yǔ)言讀取 JSON 配置需要使用 JSON-C 庫(kù)。JSON-C 是一個(gè)輕量級(jí)的 JSON 庫(kù),它提供了一組 C 函數(shù)來(lái)處理 JSON 數(shù)據(jù)。
#include <stdio.h> #include <json-c/json_object.h> int main() { // 讀取 JSON 配置文件 FILE *fp = fopen("config.json", "r"); char buffer[1024]; fread(buffer, 1, 1024, fp); fclose(fp); // 解析 JSON 數(shù)據(jù) json_object *config = json_tokener_parse(buffer); // 獲取參數(shù) char *name = json_object_get_string(json_object_object_get(config, "name")); int age = json_object_get_int(json_object_object_get(config, "age")); // 輸出參數(shù) printf("My name is %s and I am %d years old.\n", name, age); json_object_put(config); return 0; }
在上面的代碼中,我們首先通過(guò) fopen 函數(shù)打開(kāi) JSON 配置文件,然后使用 fread 函數(shù)將文件內(nèi)容讀取到緩沖區(qū)中。接著,使用 json_tokener_parse 函數(shù)將緩沖區(qū)中的 JSON 數(shù)據(jù)解析成 json_object 對(duì)象。
通過(guò) json_object_object_get 函數(shù)可以獲取 json_object 對(duì)象中的屬性值。例如,獲取 name 屬性的值:
char *name = json_object_get_string(json_object_object_get(config, "name"));
最后,使用 json_object_put 函數(shù)釋放 json_object 對(duì)象占用的內(nèi)存。