C數組是一種非常常見的數據結構,而JSON則是一種輕量級的數據交換格式。在某些時候,我們可能需要將C數組轉換成JSON格式,以便于在不同的系統之間交換數據。下面將介紹如何使用C代碼將數組轉換成JSON格式。
#include <stdio.h> #include <jansson.h> int main() { int array[] = {1, 2, 3, 4, 5}; int num_of_elements = sizeof(array) / sizeof(int); json_t *json_array = json_array(); for (int i = 0; i < num_of_elements; i++) { json_array_append_new(json_array, json_integer(array[i])); } char *json_str = json_dumps(json_array, JSON_INDENT(4)); printf("%s\n", json_str); free(json_str); json_decref(json_array); return 0; }
上面的代碼使用了JSON-C庫,它是一個C語言下的JSON庫。首先,定義了一個整型數組array和元素個數num_of_elements。然后,創建了一個JSON數組json_array。接下來,使用for循環將數組中的每個元素轉換成JSON格式,并添加到json_array中。最后,使用json_dumps將json_array轉換成字符串形式的JSON格式。
值得注意的是,使用JSON-C庫需要注意內存分配和釋放。使用json_array()創建json_array時,需要進行json_decref釋放。而使用json_dumps()創建的json_str則需要使用free()函數釋放。
下一篇c的json解析