在C語言中,我們可以使用JSON-C庫來解析處理JSON格式的字符串。在處理JSON字符串數組時,需要使用循環遍歷數組中的元素,以獲取其長度。
#include <stdio.h> #include <json-c/json.h> int main() { const char* json_str = "[{\"name\": \"Alice\"}, {\"name\": \"Bob\"}, {\"name\": \"Charlie\"}]"; struct json_object* json_obj = json_tokener_parse(json_str); if (json_obj == NULL) { printf("Error: invalid JSON string!\n"); return 1; } if (json_object_is_type(json_obj, json_type_array)) { int len = json_object_array_length(json_obj); printf("The length of this array is %d.\n", len); for (int i = 0; i < len; i++) { struct json_object* element = json_object_array_get_idx(json_obj, i); printf("Element %d: %s\n", i, json_object_to_json_string(element)); } } json_object_put(json_obj); return 0; }
在上面的代碼中,我們首先定義一個JSON格式的字符串json_str,其中包含了一個名為"name"的字段。接著,我們使用json_tokener_parse函數將其轉換為JSON對象json_obj。
然后,我們用json_object_is_type函數檢查json_obj是否為一個JSON數組類型。如果是,我們使用json_object_array_length函數獲取數組的長度len,并使用for循環遍歷數組中的元素,使用json_object_array_get_idx函數獲取指定下標的元素,并使用json_object_to_json_string函數將其轉換為字符串輸出。
最后,我們使用json_object_put函數釋放json_obj占用的內存。
上一篇vue 的啟動命令