cjson是一個基于C語言的開源JSON解析庫,它提供了一組API,用于解析JSON字符串并將其轉換為C語言數據類型,也可將C語言數據類型轉換為JSON字符串。在實際開發中,我們有時需要計算JSON字符串的長度,以便于參數傳遞、存儲數據等用途。下面我們將介紹如何使用cjson計算JSON字符串的長度。
#include "cJSON.h" #include "stdlib.h" #include "stdio.h" #include "string.h" int main() { char* json_str = "{\"name\": \"Tom\", \"age\": 20}"; // 解析JSON字符串 cJSON* root = cJSON_Parse(json_str); // 獲取JSON字符串長度 int len = cJSON_PrintUnformatted(root, NULL, 0); printf("JSON字符串的長度為:%d", len); // 釋放cJSON對象的內存 cJSON_Delete(root); return 0; }
上述代碼中,我們首先定義了一個JSON字符串,然后使用cJSON_Parse()函數將其解析為cJSON對象root。接著使用cJSON_PrintUnformatted()函數計算JSON字符串的長度,并將計算結果存儲在變量len中。該函數的第一個參數是要計算長度的對象,第二個參數是指向字符數組的指針,如果為NULL則表示不需要返回JSON字符串,第三個參數是字符數組的容量,如果為0則表示只計算JSON字符串的長度而不存儲數據。
最后我們輸出計算結果,并使用cJSON_Delete()函數釋放cJSON對象的內存。