在C語言中,讀取JSON格式數(shù)據(jù)是非常常見的操作。而當(dāng)我們需要讀取JSON數(shù)組時,則需要一些額外的步驟。在下面的示例中,我們將展示如何使用C代碼讀取JSON數(shù)組。
#include <stdio.h>#include <jansson.h>int main(void) { const char *json_string = "{\"array\":[\"foo\", \"bar\", \"baz\"]}"; json_t *root; json_error_t error; root = json_loads(json_string, 0, &error); if (!root) { fprintf(stderr, "error: %s\n", error.text); return 1; } json_t *array = json_object_get(root, "array"); size_t index; json_t *value; json_array_foreach(array, index, value) { const char *str_value = json_string_value(value); printf("value[%d] = %s\n", index, str_value); } json_decref(root); return 0; }
在上面的代碼中,我們使用了JSON-C庫來處理JSON格式數(shù)據(jù)。首先,我們定義了一個JSON字符串,其中包含了一個名為“array”的JSON數(shù)組。然后,我們調(diào)用了json_loads()函數(shù)來將JSON字符串加載到內(nèi)存中,并將返回的JSON對象保存到root指針中。
接下來,我們通過調(diào)用json_object_get()函數(shù)獲取了名為“array”的JSON數(shù)組。然后,我們使用json_array_foreach()函數(shù)遍歷了該數(shù)組,并將每個元素的值保存到str_value指針中,并將其打印到控制臺上。
最后,我們釋放了保存JSON對象的內(nèi)存,以避免內(nèi)存泄漏。
通過使用上述代碼和JSON-C庫,我們可以輕松地讀取JSON數(shù)組中的數(shù)據(jù),并進(jìn)行一些有用的操作。