在進行Web開發(fā)過程中,我們經(jīng)常需要從數(shù)據(jù)庫中獲取JSON數(shù)據(jù)。在C語言中,我們可以使用以下的代碼獲取JSON字符串。
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main() { //數(shù)據(jù)庫返回的JSON字符串 char *json_str = "{ \"name\": \"Li Lei\", \"age\": 20}"; //把JSON字符串轉(zhuǎn)化為JSON對象,并獲取屬性值 json_t *json_obj = json_loads(json_str, 0, NULL); const char *name = json_string_value(json_object_get(json_obj, "name")); int age = json_integer_value(json_object_get(json_obj, "age")); //輸出屬性值 printf("name = %s \n", name); printf("age = %d \n", age); //釋放資源 json_decref(json_obj); return 0; }
在上述代碼中,我們使用了jansson庫來解析JSON字符串并獲取屬性值。通過調(diào)用json_loads函數(shù),我們可以把JSON字符串轉(zhuǎn)化為json_t類型的JSON對象。然后,我們通過json_object_get函數(shù)獲取JSON對象中的屬性值。
需要注意的是,當(dāng)我們使用jansson庫來處理JSON字符串時,我們需要手動釋放資源。在上述代碼中,我們通過調(diào)用json_decref函數(shù)來釋放JSON對象。