在C語言中,我們經常需要處理JSON數據,使用C語言解析JSON數據需要使用相關的庫來簡化操作。 針對JSON中的數組類型數據,C語言中的json-c庫提供了很好的支持。下面我們來看一下如何使用C語言從JSON數組中取值。
#include <json-c/json.h> #include <stdio.h> int main() { char* json_str = "[1,2,3,4]"; struct json_object* json_obj = json_tokener_parse(json_str); enum json_type type = json_object_get_type(json_obj); if(type == json_type_array) { printf("JSON is an array\n"); int len = json_object_array_length(json_obj); printf("Array length: %d\n", len); for(int i=0;i在上面的代碼中,我們首先定義了一個JSON數組的字符串,然后使用json_tokener_parse函數將其轉換為一個json_object對象。我們可以使用json_object_get_type函數來檢查得到的JSON對象是否是一個數組。如果是,則我們可以使用json_object_array_length函數獲取數組的長度,并使用json_object_array_get_idx函數獲取指定索引處的JSON對象。最后,我們使用json_object_get_int函數獲取整數值。
在上面的例子中,我們只是獲取了數組中的整數值,但是我們還可以獲取不同類型的值,比如字符串、浮點數等。基本上只需要使用對應的函數和類型即可。這里就不再一一列舉。