C語言中,我們經常需要將一個JSON字符串轉換成對應的對象。這時我們就需要使用相應的庫來實現。
//首先需要引入相應的頭文件 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main(void) { const char* json_str = "{\"name\":\"Tony\",\"age\":23,\"gender\":\"male\"}"; //待轉換的JSON字符串 json_error_t error; //記錄轉換過程中出現的錯誤 json_t* json_obj = json_loads(json_str, 0, &error); //將JSON字符串轉換成JSON對象 if(!json_obj) { printf("JSON error on line: %d: %s\n", error.line, error.text); return -1; } const char* name_val = json_string_value(json_object_get(json_obj, "name")); //從JSON對象中取出屬性值 int age_val = json_integer_value(json_object_get(json_obj, "age")); const char* gender_val = json_string_value(json_object_get(json_obj, "gender")); printf("Name: %s\nAge: %d\nGender: %s\n", name_val, age_val, gender_val); json_decref(json_obj); //釋放JSON對象 return 0; }
以上代碼就是將一個JSON字符串轉換成JSON對象,并從JSON對象中取出屬性值的過程。需要注意的是,在使用完JSON對象后,我們需要手動釋放它。