隨著移動互聯網的快速發展,JSON已經成為了一種非常重要的數據格式。在C語言中,讀取JSON數據成員不僅非常實用,而且還十分簡單。
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main() { char *json_string = "{\"name\": \"John\", \"age\": 30}"; json_error_t error; json_t *root = json_loads(json_string, 0, &error); if (!root) { printf("JSON格式錯誤:%s\n", error.text); return 1; } const char *name; json_int_t age; if (json_unpack(root, "{s:s, s:i}", "name", &name, "age", &age) != 0) { printf("解包JSON失敗\n"); return 1; } printf("姓名:%s\n年齡:%d\n", name, age); json_decref(root); return 0; }
這段代碼使用了jansson庫來解析JSON數據。首先,我們定義了一個JSON格式的字符串,然后使用json_loads函數將其轉換成一個json_t對象。如果JSON格式錯誤,我們就會通過錯誤信息返回。然后我們使用json_unpack函數來一次性解析JSON數據中的多個字段。我們傳入JSON對象、解包格式字符串和解包數據的指針,如果解包成功,我們就可以直接使用這些數據了。最后,我們釋放根節點的引用并且返回0表示成功。