cJSON是一個開源的、輕量級的JSON庫,可以用來解析和生成JSON數據。它是基于C語言開發的,因此非常適合嵌入式設備和其他資源有限的系統。cJSON的工作原理非常簡單,它使用一個結構體來表示JSON數據,并提供了一組API來訪問和操作這個結構體。以下是一個使用cJSON庫解析JSON數據的示例代碼:
#include#include "cJSON.h" int main() { // JSON數據 char* json = "{\n" " \"name\": \"Alice\",\n" " \"age\": 18,\n" " \"hobbies\": [\"reading\", \"writing\"]\n" "}"; // 解析JSON數據 cJSON* root = cJSON_Parse(json); if (root == NULL) { printf("Error parsing JSON\n"); return -1; } // 訪問JSON數據的各個字段 cJSON* name = cJSON_GetObjectItem(root, "name"); cJSON* age = cJSON_GetObjectItem(root, "age"); cJSON* hobbies = cJSON_GetObjectItem(root, "hobbies"); // 輸出JSON數據的各個字段 printf("name: %s\n", name->valuestring); printf("age: %d\n", age->valueint); printf("hobbies:\n"); for (int i = 0; i< cJSON_GetArraySize(hobbies); i++) { cJSON* hobby = cJSON_GetArrayItem(hobbies, i); printf(" %s\n", hobby->valuestring); } // 釋放JSON數據所占用的內存 cJSON_Delete(root); return 0; }
上面的代碼將輸出以下內容:
name: Alice age: 18 hobbies: reading writing
可以看到,cJSON非常容易使用,而且提供了一組方便的API來訪問和操作JSON數據。因此,如果你需要在你的項目中使用JSON格式的數據,不妨考慮使用cJSON來解析和生成JSON數據。