C JSON文件教程:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { char *filename = "test.json"; json_t *root; json_error_t error; root = json_load_file(filename, 0, &error); if (!root) { fprintf(stderr, "error: %s\n", error.text); return 1; } json_t *username, *age, *gender; const char *username_char; int age_int; const char *gender_char; username = json_object_get(root, "username"); username_char = json_string_value(username); age = json_object_get(root, "age"); age_int = json_integer_value(age); gender = json_object_get(root, "gender"); gender_char = json_string_value(gender); printf("Username: %s\n", username_char); printf("Age: %d\n", age_int); printf("Gender: %s\n", gender_char); json_decref(root); return 0; }
使用C語言解析JSON文件需要使用第三方庫Jansson。Jansson是一個只有C語言庫的JSON庫,提供解析和編寫JSON數據的函數。
在解析JSON文件時,需要使用json_load_file函數讀取JSON文件,并將其轉換為json_t結構體的形式。如果讀取失敗,則可以使用json_error_t結構體進行錯誤處理。
然后,我們可以通過使用json_object_get函數來獲取JSON文件中的數據。我們需要傳入json_t結構體中的鍵,函數會返回指向json_t結構體的值的指針。
最后,我們可以使用json_string_value、json_integer_value等函數獲取對應數據類型的實際值。
完成后不要忘記使用json_decref函數釋放json_t結構體的內存。