JSON是一種輕量級的數據交換格式,有時候我們需要在C程序中讀取多維數組的JSON數據。本文將介紹如何使用C語言讀取多維數組JSON數據。
首先,我們需要在C程序中包含json.h庫文件,該庫文件為讀取JSON數據提供了豐富的函數。
#include <json.h>
然后,我們需要定義一個JSON類型的變量,來保存JSON數據。這里我們定義一個變量叫json_obj。
json_object *json_obj;
接下來,我們需要使用json_tokener_parse函數將JSON數據解析為JSON類型的變量。
json_obj = json_tokener_parse(json_string);
在讀取多維數組的JSON數據之前,我們需要知道JSON數據的結構是怎樣的。例如,下面是一段具有多維數組的JSON數據。
{ "array": [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] }
我們可以使用json_object_object_get函數來獲取JSON數據中的數組。例如,我們可以使用下面的代碼來獲取上面JSON數據中的"array"數組。
json_object *array_obj = json_object_object_get(json_obj, "array");
接下來,我們可以使用json_object_array_length函數獲取數組的長度。
int array_length = json_object_array_length(array_obj);
最后,我們使用json_object_array_get_idx函數遍歷數組中所有元素。
for (int i = 0; i < array_length; i++) { json_object *sub_array_obj = json_object_array_get_idx(array_obj, i); int sub_array_length = json_object_array_length(sub_array_obj); for (int j = 0; j < sub_array_length; j++) { json_object *element_obj = json_object_array_get_idx(sub_array_obj, j); int element = json_object_get_int(element_obj); printf("%d ", element); } printf("\n"); }
通過上面的講解,使用C讀取JSON多維數組就變得非常簡單。