當我們處理從后臺服務器獲取的 JSON 數據時,cJSON 庫為我們提供了許多便捷的方法使我們能夠更輕松地讀取和操作 JSON 數據。下面是一個簡單的 JSON 數據解析示例。
#include <stdio.h> #include <cJSON.h> int main() { // 從字符串中加載 JSON 數據 const char *json_str = "{\"name\":\"Amy\",\"age\":18,\"isStudent\":true}"; cJSON *json = cJSON_Parse(json_str); // 獲取 JSON 對象中的各個屬性 cJSON *name = cJSON_GetObjectItem(json, "name"); cJSON *age = cJSON_GetObjectItem(json, "age"); cJSON *is_student = cJSON_GetObjectItem(json, "isStudent"); // 輸出屬性的值 printf("Name: %s\n", name->valuestring); printf("Age: %d\n", age->valueint); printf("Is a student: %s\n", is_student->valueint ? "true" : "false"); // 釋放 JSON 對象占用的內存 cJSON_Delete(json); return 0; }
該示例首先加載一個 JSON 數據字符串,并使用 cJSON_Parse() 函數將其解析為 cJSON 對象。接著,從 cJSON 對象中獲取各個屬性的指針,并輸出它們的值。最后,釋放 cJSON 對象占用的內存。
在 cJSON 庫中,cJSON_Parse() 和 cJSON_GetObjectItem() 函數非常常用。cJSON_Parse() 函數將 JSON 數據字符串轉換為 cJSON 對象,而 cJSON_GetObjectItem() 函數則返回 cJSON 對象中指定名稱的屬性。例如,在本示例中,cJSON_GetObjectItem() 函數返回 JSON 對象中 “name”、“age” 和 “isStudent” 這三個屬性。
下一篇mysql路徑讀取