在C語言中,我們經常需要將JSON字符串轉換為對象數組,這樣才能更好地處理數據。下面我們來介紹一些使用C語言將JSON字符串轉對象數組的方法。
// include json-c library #include <json-c/json.h> // JSON字符串 char *json_string = "{ \"name\": \"Tom\", \"age\": 20 }"; int main() { // 解析JSON字符串 json_object *json_obj = json_tokener_parse(json_string); // 獲取JSON屬性 json_object *name = json_object_object_get(json_obj, "name"); json_object *age = json_object_object_get(json_obj, "age"); // 將JSON屬性轉換為C語言的對象 const char *name_str = json_object_get_string(name); int age_int = json_object_get_int(age); // 輸出結果 printf("Name: %s, Age: %d", name_str, age_int); // 釋放JSON對象 json_object_put(json_obj); return 0; }
在上述代碼中,我們使用了json-c庫來解析JSON字符串。定義了一個指向JSON字符串的指針,然后使用json_tokener_parse函數對其進行解析并返回一個json_object對象。
接著,我們通過json_object_object_get函數獲取JSON屬性,再將其轉換為C語言對象。使用json_object_get_string函數可以將json_object對象轉換為C語言字符串,而json_object_get_int函數可以將其轉換為C語言整數。
最后,使用printf打印結果,并使用json_object_put函數釋放json_object對象,避免內存泄漏。