在使用C語(yǔ)言進(jìn)行JSON字符串處理時(shí),經(jīng)常需要獲取JSON字符串中數(shù)組的長(zhǎng)度。這里介紹一種簡(jiǎn)單的方法來(lái)輸出JSON字符串?dāng)?shù)組的長(zhǎng)度。
#include <stdio.h> #include <jansson.h> int main() { const char *json_str = "[1,2,3,4,5]"; json_error_t error; json_t *root = json_loads(json_str, 0, &error); if (!json_is_array(root)) { printf("錯(cuò)誤:JSON字符串不是一個(gè)數(shù)組\n"); return 1; } int array_len = json_array_size(root); printf("數(shù)組長(zhǎng)度為:%d\n", array_len); json_decref(root); return 0; }
在上面的代碼中,首先我們定義了一個(gè)JSON字符串。然后,使用`json_loads()`函數(shù)將JSON字符串解析成一個(gè)JSON樹。接下來(lái),我們判斷JSON樹是否為數(shù)組類型。若是,則使用`json_array_size()`函數(shù)獲取數(shù)組長(zhǎng)度,并輸出結(jié)果;否則,輸出錯(cuò)誤信息。
需要注意的是,當(dāng)使用`json_loads()`函數(shù)解析JSON字符串時(shí),如果出現(xiàn)錯(cuò)誤,可在`json_error_t`類型的指針中獲取錯(cuò)誤信息。此外,使用完JSON樹后,需使用`json_decref()`函數(shù)釋放占用的內(nèi)存。