C語言中,對象轉json是一項非常重要的操作。它允許我們將C語言中的數據結構轉換為json格式的數據,以便在網絡上傳輸或存儲。
#include <stdio.h> #include <json-c/json.h> struct Person { char name[20]; int age; }; int main() { struct Person myPerson = {"Lucy", 18}; json_object *jPerson = json_object_new_object(); json_object_object_add(jPerson, "name", json_object_new_string(myPerson.name)); json_object_object_add(jPerson, "age", json_object_new_int(myPerson.age)); const char *jsonStr = json_object_to_json_string(jPerson); printf("json string: %s", jsonStr); json_object_put(jPerson); return 0; }
上面的代碼展示了將Person結構體對象轉換成json格式的過程。我們首先使用json_object_new_object()函數創建一個json_object對象,然后使用json_object_object_add()函數添加鍵值對,最后使用json_object_to_json_string()函數將對象轉換為json字符串。
需要注意的是,我們在使用json_object_new_string()函數創建字符串時,需要使用結構體中的字符數組名,而不是指針。另外,使用完對象后一定要釋放內存,避免內存泄露。