在C語言中,我們經常需要將JSON字符串串轉換成JSON對象,以便于對其中的數據進行處理。這里簡單介紹如何使用C語言中的庫函數將JSON字符串串轉換成JSON對象。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { // 定義一個JSON字符串串 char *json_str = "{\"name\":\"Tom\",\"age\":18,\"gender\":\"male\"}"; // 調用庫函數將JSON字符串串轉換成JSON對象 json_t *json_obj = json_loads(json_str, 0, NULL); // 判斷轉換是否成功 if (!json_obj) { fprintf(stderr, "Error parsing JSON!\n"); return 1; } // 讀取JSON對象中的數據 const char *name; int age; const char *gender; json_unpack(json_obj, "{s:s, s:i, s:s}", "name", &name, "age", &age, "gender", &gender); // 打印讀取的數據 printf("name: %s\n", name); printf("age: %d\n", age); printf("gender: %s\n", gender); // 釋放JSON對象的內存 json_decref(json_obj); return 0; }
在上述代碼中,我們使用了C語言中的json-c庫來進行JSON字符串串轉換成JSON對象。其中函數json_loads()將JSON字符串串轉換成JSON對象,函數json_unpack()從JSON對象中讀取數據,并將讀取的數據存儲在指定的變量中。
需要注意的是,在使用json-c庫時,需要在代碼中包含頭文件<jansson.h>。并且在程序結束時,需要釋放JSON對象的內存,使用函數json_decref()可以實現內存釋放。
上一篇html當中h1居中代碼
下一篇html當前星期幾代碼