cJSON是一個C語言編寫的JSON解析器。它能夠將JSON數據解析為C語言中的數據結構,便于程序的使用和處理。
下面我們來看一個cJSON解析JSON數組的示例。
#include "cJSON.h" #include <stdio.h> int main() { // 定義一個JSON數組 char* json_str = "[{\"name\":\"Tom\",\"age\":18},{\"name\":\"Lucy\",\"age\":22},{\"name\":\"Jack\",\"age\":20}]"; // 解析JSON數組 cJSON* root = cJSON_Parse(json_str); // 獲取JSON數組長度 int size = cJSON_GetArraySize(root); for (int i = 0; i < size; i++) { // 獲取JSON數組中的元素 cJSON* item = cJSON_GetArrayItem(root, i); // 獲取元素中的name和age cJSON* name = cJSON_GetObjectItem(item, "name"); cJSON* age = cJSON_GetObjectItem(item, "age"); // 輸出name和age的值 printf("%s %d\n", name->valuestring, age->valueint); } // 釋放內存 cJSON_Delete(root); return 0; }
在這個示例中,我們首先定義了一個JSON數組。然后使用cJSON_Parse函數將這個JSON數組解析為一個cJSON數據結構。接著使用cJSON_GetArraySize函數獲取數組的長度,并使用cJSON_GetArrayItem函數逐個獲取數組中的元素。最后使用cJSON_GetObjectItem函數獲取元素中的name和age,并輸出它們的值。最后使用cJSON_Delete函數釋放內存。
通過cJSON,我們可以很方便地將JSON數據解析為C語言中的數據結構,在程序中進行處理,實現更加復雜的功能。