使用C語言輸出JSON格式的數據有很多方法,但是最簡單和直接的方法是使用json-c庫。下面是一個簡單的例子。
#include <stdio.h> #include <json-c/json.h> int main() { struct json_object *jobj = json_object_new_object(); json_object_object_add(jobj, "name", json_object_new_string("John")); json_object_object_add(jobj, "age", json_object_new_int(25)); json_object_object_add(jobj, "is_student", json_object_new_boolean(1)); json_object_object_add(jobj, "hobbies", json_object_new_array()); json_object *hobbies_array = json_object_object_get(jobj, "hobbies"); json_object_array_add(hobbies_array, json_object_new_string("Swimming")); json_object_array_add(hobbies_array, json_object_new_string("Hiking")); json_object_array_add(hobbies_array, json_object_new_string("Reading")); printf("%s\n", json_object_to_json_string(jobj)); json_object_put(jobj); return 0; }
在上面的代碼中,我們首先創建了一個json_object類型的對象"jobj",然后使用json_object_object_add函數向這個對象添加name、age、is_student和hobbies這些屬性。值得注意的是,hobbies屬性是一個json_array類型的對象,因此我們需要先創建一個空的數組對象,然后使用json_object_array_add函數向其中添加元素。
最后,我們使用json_object_to_json_string函數將jobj對象轉換為JSON字符串輸出。需要注意的是,這個函數返回的是動態分配的內存,因此我們需要在使用完畢后使用json_object_put函數釋放這個內存。