在C語言中,使用JSON數(shù)據(jù)庫可以方便實(shí)現(xiàn)數(shù)據(jù)的存儲和讀取。下面介紹怎樣在C語言中使用JSON數(shù)據(jù)庫。
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main() { json_t *root; json_error_t error; root = json_load_file("data.json", 0, &error); if(!root) { fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); return 1; } json_t *sub = json_object_get(root, "name"); if(!json_is_string(sub)) { fprintf(stderr, "error: name is not a string\n"); json_decref(root); return 1; } const char *name = json_string_value(sub); printf("name: %s\n", name); json_decref(root); return 0; }
首先,需要安裝JSON-C庫。接著,使用`json_load_file()`函數(shù)從文件中讀取JSON數(shù)據(jù),獲取根節(jié)點(diǎn)`root`。如果讀取失敗,函數(shù)將返回NULL,并打印錯誤信息。我們使用`json_object_get()`函數(shù)獲取屬性值,再使用`json_is_string()`函數(shù)判斷該值是否為字符串類型。如果不是,則打印錯誤信息,并調(diào)用`json_decref()`函數(shù),釋放資源。最后,獲取該字符串并打印。
以上代碼僅僅是一個簡單的例子,實(shí)際上還可以對JSON數(shù)據(jù)進(jìn)行增、刪、改操作。如需了解更多,請參考JSON-C庫的文檔。