C數(shù)組是一種廣泛使用的數(shù)據(jù)結(jié)構(gòu),而JSON字符串則是一種通用的數(shù)據(jù)交換格式。將C數(shù)組轉(zhuǎn)化為JSON字符串在各種應(yīng)用場合下都具有重要作用。下面我們來看一下如何實現(xiàn)這個過程。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { int arr[] = {1, 2, 3, 4, 5}; size_t arr_size = sizeof(arr) / sizeof(int); // 創(chuàng)建JSON對象并為其添加數(shù)組元素 json_t *json = json_array(); for(size_t i = 0; i < arr_size; i++) json_array_append_new(json, json_integer(arr[i])); // 將JSON對象轉(zhuǎn)化為字符串 char *json_str = json_dumps(json, JSON_INDENT(4)); printf("%s", json_str); // 釋放資源 free(json_str); json_decref(json); return 0; }
我們可以使用jansson庫來實現(xiàn)數(shù)組轉(zhuǎn)化為JSON字符串的過程。這個庫提供了一系列創(chuàng)建、讀取、修改和銷毀JSON對象的函數(shù)。在上述代碼中,我們首先定義了一個整型數(shù)組arr,然后計算數(shù)組長度并用for循環(huán)將數(shù)組元素逐一添加到JSON對象中。接著,我們使用json_dumps()函數(shù)將JSON對象轉(zhuǎn)化為字符串,并在輸出中展示。最后,我們使用free()和json_decref()函數(shù)釋放所占用的內(nèi)存。