在C語言的應用中,JSON字符串的轉換是一項重要的技能。我們可以通過使用JSON庫來實現JSON字符串與C語言數據類型之間的轉換。
下面是一個使用JSON C庫將JSON字符串轉換為C語言變量的示例:
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main() { const char *json_string = "{\"name\": \"張三\", \"age\": 26, \"gender\":\"男\"}"; json_t *root; json_error_t error; root = json_loads(json_string, 0, &error); if (!root) { fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); return 1; } json_t *name = json_object_get(root, "name"); const char *name_str = json_string_value(name); printf("姓名:%s\n", name_str); json_t *age = json_object_get(root, "age"); int age_int = json_integer_value(age); printf("年齡:%d\n", age_int); json_t *gender = json_object_get(root, "gender"); const char *gender_str = json_string_value(gender); printf("性別:%s\n", gender_str); json_decref(root); return 0; }
在上面的代碼中,我們使用了JSON C庫中的json_loads函數將JSON字符串轉換為json_t類型的root變量,然后使用json_object_get函數獲取JSON中的各個字段值,并使用相應的函數將其轉換為C語言數據類型。
最后,我們使用json_decref函數釋放JSON對象占用的內存。
上一篇c# 讀取json實例