JSON(JavaScript Object Notation,JavaScript 對象表示法)是一種輕量級的數據交換格式。它是基于文本的,并且易于閱讀和編寫。在C語言中,通過使用JSON庫,我們可以輕松地讀取和解析JSON字符串。
當我們使用C語言中的JSON庫解析一個JSON字符串數組時,我們可能需要知道數組的長度。我們可以使用JSON庫中提供的函數來獲取數組的長度。
#include <stdio.h>
#include <jansson.h>
int main() {
const char *json_string = "[\"apple\", \"banana\", \"orange\"]";
json_error_t error;
json_t *root = json_loads(json_string, 0, &error);
if(!root) {
printf("error: on line %d: %s\n", error.line, error.text);
return 1;
}
if(!json_is_array(root)) {
printf("error: root is not an array\n");
json_decref(root);
return 1;
}
size_t array_len = json_array_size(root);
printf("array length: %lu\n", array_len);
json_decref(root);
return 0;
}
在這個例子中,我們首先定義了一個字符串類型的JSON字符串。然后使用json_loads()函數將字符串解析為JSON對象。接著,我們檢查解析后的JSON對象是否為一個數組類型,如果不是,則打印錯誤信息和返回1。最終,我們使用json_array_size()函數獲取數組的長度并輸出。
上述代碼執行結果為“array length: 3”,表示JSON字符串數組的長度為3。