在使用 C 語言操作 JSON 數組時,經常需要將 JSON 數組轉換為字符串數組對象。本文將介紹如何使用 C 語言實現該功能。
#include <stdio.h> #include <jansson.h> int main() { // 創建 JSON 數組對象 json_t *arr = json_array(); json_array_append_new(arr, json_string("Apple")); json_array_append_new(arr, json_string("Banana")); json_array_append_new(arr, json_string("Orange")); // 轉換為字符串數組對象 int size = json_array_size(arr); const char **str_arr = (const char **)malloc(size * sizeof(char *)); for (int i = 0; i< size; i++) { json_t *val = json_array_get(arr, i); str_arr[i] = json_string_value(val); } // 打印字符串數組對象 for (int i = 0; i< size; i++) { printf("%s\n", str_arr[i]); } // 釋放內存 free(str_arr); json_decref(arr); return 0; }
在上面的代碼中,我們首先創建一個 JSON 數組對象,然后使用 json_array_append_new 函數向數組中添加元素。接下來,我們使用 size 函數獲取數組中的元素個數,然后創建一個字符串數組對象并分配內存。使用 json_array_get 函數獲取數組中的每個元素,然后使用 json_string_value 函數將其轉換為字符串,并將其存儲在字符串數組對象中。
最后,我們遍歷字符串數組對象并打印每個元素。最后,我們釋放字符串數組對象和 JSON 數組對象的內存。
通過上面的代碼,我們可以將 JSON 數組轉換為字符串數組對象,方便進行字符串處理和解析。