C語言中,常常需要將JSON格式的數據轉換成字符串數組,這樣可以方便地在程序中進行處理和存儲。下面我們將介紹如何在C語言中實現JSON數據轉字符串數組。
#include <stdio.h> #include <jansson.h> int main() { char *json_string = "{\"name\":\"Tom\",\"age\":20,\"score\":[85,92,78]}"; json_t *root; json_error_t error; // 將JSON字符串轉換為JSON對象 root = json_loads(json_string, 0, &error); // 獲取name字段的值并轉換為字符串 json_t *name = json_object_get(root, "name"); const char *name_str = json_string_value(name); // 獲取age字段的值并轉換為整數 json_t *age = json_object_get(root, "age"); int age_int = json_integer_value(age); // 獲取score字段的值并轉換為數組 json_t *score = json_object_get(root, "score"); int i; int len = json_array_size(score); int score_array[len]; for (i = 0; i < len; i++) { score_array[i] = json_integer_value(json_array_get(score, i)); } // 打印結果 printf("name: %s\n", name_str); printf("age: %d\n", age_int); printf("score: "); for (i = 0; i < len; i++) { printf("%d ", score_array[i]); } printf("\n"); // 釋放內存 json_decref(root); return 0; }
在以上代碼中,使用了jansson庫來實現JSON數據轉字符串數組。首先將JSON字符串轉換為JSON對象,然后通過json_object_get函數來獲取對象中的字段值,并使用相應的json_*_value函數將其轉換為需要的類型。
在獲取數組類型的字段值時,需要先獲取數組的長度,然后使用json_array_get函數獲取數組中的每個元素,并使用相應的json_*_value函數將其轉換為需要的類型,再存儲到數組中。
最后需要記得使用json_decref函數來釋放內存。
上一篇vue josn渲染