JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,常常被應用于前端與后端的交互中。在C語言中,我們可以通過一些庫來處理JSON數據,其中包括將JSON數組轉化為字符串。
#include <stdio.h> #include <jansson.h> int main(void) { // 創建一個JSON數組 json_t *arr = json_array(); json_array_append_new(arr, json_string("hello")); json_array_append_new(arr, json_boolean(1)); json_array_append_new(arr, json_integer(123)); // 將JSON數組轉化為字符串 char *str = json_dumps(arr, JSON_ENCODE_ANY); printf("JSON字符串: %s", str); // 釋放內存 free(str); json_decref(arr); return 0; }
在代碼中,我們使用了json_array()函數創建一個JSON數組,并往其中添加了三個元素:字符串"hello"、布爾值true和整數123。接著,我們使用json_dumps()函數將其轉化為字符串。
需要注意的是,在進行json_dumps()函數調用的時候,需要傳入兩個參數:JSON對象和JSON編碼選項。JSON編碼選項用于指定JSON數據的編碼格式,可以在以下幾種選項中選擇:
- JSON_ENCODE_ANY:基于輸入類型自動選擇編碼格式
- JSON_ENCODE_ASCII:將非ASCII字符轉換為\uXXXX格式(UTF-16編碼)的字符串
- JSON_ENCODE_UTF8:將數據編碼為UTF-8格式
在上面的代碼中,我們選擇了JSON_ENCODE_ANY選項。
最后,需要注意在使用json_dumps()函數轉化完JSON數組為字符串后,需要手動釋放其占用的內存,否則會導致程序內存泄漏。
上一篇c語言json轉字符串
下一篇vue 獲取 下拉 參數