在 C 中,要將 JSON 字符串轉換為對象,需要使用 JSON-c 庫提供的函數。
#include <json-c/json.h> int main() { /* 定義 JSON 字符串 */ const char* json_str = "{\"name\": \"Tom\", \"age\": 18}"; /* 定義 JSON 對象 */ struct json_object* jsonObj; /* 將 JSON 字符串轉換為 JSON 對象 */ jsonObj = json_tokener_parse(json_str); /* 使用 JSON 對象 */ const char* name; int age; json_object_object_get_ex(jsonObj, "name", &name); json_object_object_get_ex(jsonObj, "age", &age); printf("Name: %s, Age: %d\n", name, age); /* 釋放 JSON 對象 */ json_object_put(jsonObj); return 0; }
在上面的示例中,我們首先定義了一個 JSON 字符串,然后使用json_tokener_parse()
函數將字符串轉為 JSON 對象,接著使用json_object_object_get_ex()
函數獲取屬性并使用。
最后,我們需要使用json_object_put()
函數釋放 JSON 對象。這非常重要,因為 JSON 對象是在堆上分配的內存,如果不釋放,將會造成內存泄漏。