在計算機程序開發中,常常需要進行數據的序列化和反序列化。而JSON數據格式是現代最時髦的一種數據格式
C語言具有出色的能力來處理JSON數據,其使用JSON庫來完成任務。而將JSON數據轉換為C語言數據格式,使用不同的JSON庫和算法可以實現。下面我們將介紹如何使用 cJSON 庫實現JSON解析和數據提取。
// 操作JSON的庫 #include "cJSON.h" // 主函數 int main(int argc, char const *argv[]) { // 定義JSON字串 const char *jsonstr = "{\"name\": \"Tom\", \"age\":25, \"isStudent\":true}"; // 解析JSON字串 cJSON *json = cJSON_Parse(jsonstr); // 從JSON數據中獲取對應的值 cJSON *name = cJSON_GetObjectItem(json, "name"); cJSON *age = cJSON_GetObjectItem(json, "age"); cJSON *isStudent = cJSON_GetObjectItem(json, "isStudent"); // 輸出JSON數據 printf("name: %s\n", cJSON_Print(name)); printf("age: %d\n", cJSON_Print(age)); printf("isStudent: %d\n", cJSON_Print(isStudent)); // 釋放JSON數據 cJSON_Delete(json); return 0; }
在上面的代碼中,我們先定義了 JSON 字符串 " { \"name\": \"Tom\", \"age\":25, \"isStudent\":true} ",之后使用 cJSON_Parse 函數解析該 JSON 字符串,并將其轉換成 cJSON 對象。
接下來,我們使用 cJSON_GetObjectItem 函數從 cJSON 對象中獲取到 "name"、"age" 和 "isStudent" 三個鍵所對應的值,并將這些值賦予變量 name、age 和 isStudent 中。
最后,我們使用 cJSON_Print 函數將這些值輸出到控制臺中,并且使用 cJSON_Delete 函數釋放在內存中的 cJSON 對象。
上一篇c json時間處理
下一篇c json數組聲明