C語言中使用json字符串數組的操作是一個常見的需求。在遍歷json字符串數組時,我們需要獲取數組的長度來確保不會訪問超出數組范圍的元素。下面是具體實現:
#include <stdio.h> #include <jansson.h> int main() { const char *json_str = "[{\"name\": \"Tom\", \"age\": 18}, {\"name\": \"Jack\", \"age\": 20}]"; json_error_t error; json_t *json = json_loads(json_str, 0, &error); if (!json) { fprintf(stderr, "json error on line %d: %s\n", error.line, error.text); return 1; } if (!json_is_array(json)) { fprintf(stderr, "json is not an array\n"); return 1; } int array_len = json_array_size(json); printf("json array length: %d\n", array_len); json_decref(json); return 0; }
在以上代碼中,我們首先定義一個json字符串,表示一個包含兩個元素的json數組。然后使用json_t庫的json_loads函數將字符串轉換為json_t對象,如果出現錯誤則打印錯誤信息并返回。接下來判斷json對象是否為數組,如果不是,則給出錯誤提示。最后使用json_array_size函數獲取數組長度并打印。
以上就是用C語言遍歷json字符串數組并獲取長度的方法,希望對大家有所幫助。