c語言在處理json數據時,經常需要獲取json中數組的長度。在c中,可以通過 cJSON_GetArraySize 函數來獲取json數組的長度。
int cJSON_GetArraySize(const cJSON *array);
該函數的參數是一個 cJSON 對象,而返回值則是數組的長度。下面是一個使用 cJSON_GetArraySize 函數獲取json數組長度的例子:
#include <stdio.h> #include <cJSON.h> int main() { // 定義json字符串 char *json_str = "{\"name\":\"test\",\"list\":[1,2,3,4]}"; // 解析json字符串為cJSON對象 cJSON *root = cJSON_Parse(json_str); // 獲取數組對象 cJSON *arrayObj = cJSON_GetObjectItem(root, "list"); // 獲取數組長度 int length = cJSON_GetArraySize(arrayObj); // 輸出數組長度 printf("array length: %d\n", length); // 釋放資源 cJSON_Delete(root); return 0; }
在上面的例子中,我們首先定義了一個 json 字符串,然后使用 cJSON_Parse 函數解析成 cJSON 對象。接著我們使用 cJSON_GetObjectItem 函數獲取數組對象,再使用 cJSON_GetArraySize 函數獲取數組長度。最后我們輸出數組長度并釋放資源。