在C語言中,我們經常需要對JSON格式的數據進行處理。在對JSON數據進行解析后,我們可能需要將其轉化為字符串數組,以便進行后續的處理。下面是一段示例代碼:
#include <stdio.h>
#include <jansson.h>
int main()
{
const char *json_string = "{\"name\": \"John\", \"age\": 30}";
char **arr;
int i, len;
json_t *root;
json_error_t error;
root = json_loads(json_string, 0, &error);
len = json_object_size(root);
arr = malloc(sizeof(char *) * len);
json_object_foreach(root, key, value) {
arr[i] = malloc(sizeof(char) * (strlen(key) + strlen(json_dumps(value, 0))));
sprintf(arr[i], "\"%s\": %s", key, json_dumps(value, 0));
i++;
}
json_decref(root);
for (i = 0; i < len; i++) {
printf("%s\n", arr[i]);
free(arr[i]);
}
free(arr);
return 0;
}
在以上代碼中,我們首先定義了一個JSON格式的字符串json_string
,然后創建了一個json_t
類型的對象root
來存儲解析后的JSON數據。
接著,我們使用json_object_foreach
函數遍歷root
對象中的每一個鍵值對,并將鍵值對轉化為字符串數組形式。
最后,我們遍歷這個字符串數組并輸出每一個元素。
由此可見,通過以上代碼,我們可以將JSON數據轉化為字符串數組,方便進行后續的數據處理。