cJSON是一款輕量級的JSON解析器,它可以將JSON格式的文本數據轉換成C語言語法規范中的數據結構,大大簡化了JSON數據的處理過程。同時,cJSON還可以將C語言的數據結構轉換成JSON格式的數據,便于數據的傳輸和存儲。
#include "cJSON.h" #include#include int main() { // 定義一個JSON字符串 char *json_str = "{\"name\":\"Tom\",\"age\":18,\"score\":[80,85,90]}"; // 解析JSON字符串 cJSON *json = cJSON_Parse(json_str); // 獲取JSON中的數據 char *name = cJSON_GetObjectItem(json, "name")->valuestring; int age = cJSON_GetObjectItem(json, "age")->valueint; cJSON *score = cJSON_GetObjectItem(json, "score"); int score1 = cJSON_GetArrayItem(score, 0)->valueint; int score2 = cJSON_GetArrayItem(score, 1)->valueint; int score3 = cJSON_GetArrayItem(score, 2)->valueint; // 打印獲取的數據 printf("name: %s\n", name); printf("age: %d\n", age); printf("score: %d, %d, %d\n", score1, score2, score3); // 釋放內存 cJSON_Delete(json); return 0; }
上面的代碼中,我們定義了一個JSON字符串,然后使用cJSON_Parse()函數將其解析成一個cJSON對象。接下來,我們使用cJSON_GetObjectItem()和cJSON_GetArrayItem()函數獲取JSON中的數據,并分別將其轉換成C語言中的字符串和整型數據。最后,我們打印獲取到的數據,并使用cJSON_Delete()函數釋放內存,避免內存泄漏的問題。
上一篇vue 微信cms