C語言中的json操作是常見且重要的,如何配置c json類是關鍵。下面我們來一一了解。
#include <stdio.h> #include <string.h> #include <jansson.h> int main() { json_t *root; // 定義根節點 json_error_t error; // 定義錯誤信息變量 // 從字符串中讀取json信息 root = json_loads("{\"name\":\"張三\",\"age\":18}", 0, &error); // 判斷是否讀取成功 if (!root) { printf("json_loads error on line %d: %s\n", error.line, error.text); return 1; } // 獲取節點信息 json_t *name = json_object_get(root, "name"); json_t *age = json_object_get(root, "age"); // 打印結果 printf("name:%s\n", json_string_value(name)); printf("age:%d\n", json_integer_value(age)); // 釋放內存空間 json_decref(root); return 0; }
上述代碼示例中,我們使用了C語言中的json_t數據類型,它是一個結構體指針,用于存儲json數據的根節點,通過根節點的指針,我們可以方便地獲取json數據的各個子節點信息。
在使用json_t之前,我們需要使用json_error_t類型的變量error,用來存儲錯誤信息,它也是一個結構體類型,里面包含錯誤信息的行數和文本。
讀取json數據的方式有很多種,我們這里使用json_loads()函數從字符串中讀取json信息,并對是否讀取成功進行了判斷。讀取成功后,我們使用json_object_get()函數獲取節點信息,尤其注意這里獲取的節點信息類型。
最后,我們使用json_decref()函數釋放內存空間。c語言中的json操作需要注意內存管理問題,千萬不要忘了釋放內存空間。
下一篇vue 里面漢子搜索