在C語言中將JSON轉換為數組是一種方便的方法,可以讓我們更容易地處理數據。下面是一個簡單的例子:
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main() { //示例JSON字符串 const char *input_string = "{\"items\":[{\"name\":\"Tom\",\"score\":80},{\"name\":\"Jerry\",\"score\":90}]}"; //解析JSON字符串 json_t *root = NULL; json_error_t error; root = json_loads(input_string, 0, &error); //獲取items數組 json_t *items = json_object_get(root, "items"); size_t array_size = json_array_size(items); //遍歷數組中的數據 for(size_t i=0; i<array_size; i++) { json_t *item = json_array_get(items, i); const char *name = json_string_value(json_object_get(item, "name")); int score = json_integer_value(json_object_get(item, "score")); printf("Name: %s, Score: %d\n", name, score); } //釋放內存 json_decref(root); return 0; }
在這個例子中,我們使用了jansson庫來解析JSON字符串,并將items數組提取出來。我們可以使用json_array_size()函數獲取數組的大小,并使用for循環遍歷數組中的每一個元素。然后,我們可以使用json_object_get()和json_xxx_value()這兩個函數來獲取JSON對象中的鍵值對。
需要注意的是,在使用完jansson庫之后,我們需要使用json_decref()函數釋放內存。