在 C 語言中處理 JSON 數據是非常常見的任務。JSON 是一種輕量級數據交換格式,通常用于 Web 應用中的數據傳輸。使用 C 語言處理 JSON 數據,可以完成諸如讀取、寫入和解析 JSON 數據等功能。
在 C 語言中,可以使用第三方庫 cJSON 在程序中讀取和寫入 JSON 數據。使用該庫可以方便地完成 JSON 數據的讀取和寫入。下面是一個示例程序:
# include <cJSON.h> int main(){ cJSON *root = cJSON_CreateObject(); cJSON_AddItemToObject(root, "name", cJSON_CreateString("David")); cJSON_AddItemToObject(root, "age", cJSON_CreateNumber(25)); cJSON_AddItemToObject(root, "is_married", cJSON_CreateBool(false)); char *json = cJSON_Print(root); printf("JSON:%s", json); cJSON_Delete(root); free(json); return 0; }
在上面的代碼中,首先需要創建一個 JSON 對象。在該對象中,添加了一個字符串類型的鍵值對,一個數字類型的鍵值對和一個布爾類型的鍵值對。最后,使用cJSON_Print()
函數將 JSON 對象轉換為 JSON 字符串并打印。
使用 cJSON 還可以讀取 JSON 數據,下面是一個示例代碼:
#include <stdio.h> #include <cJSON.h> int main() { const char *json = "{\"name\": \"David\", \"age\": 25, \"is_married\": true}"; cJSON *root = cJSON_Parse(json); cJSON *name = cJSON_GetObjectItem(root,"name"); cJSON *age = cJSON_GetObjectItem(root,"age"); cJSON *is_married = cJSON_GetObjectItem(root,"is_married"); printf("name: %s\n", name ->valuestring); printf("age: %d\n", age ->valueint); printf("is_married: %d\n", is_married ->valueint); cJSON_Delete(root); return 0; }
在上面的代碼中,首先創建了一個 JSON 字符串,然后使用cJSON_Parse()
函數將該字符串解析為 JSON 對象。再使用cJSON_GetObjectItem()
函數獲取 JSON 對象中的鍵值。最后輸出這些鍵值。
以上就是使用 cJSON 在 C 語言中處理 JSON 數據最基本的應用。讀者可以根據需要進行更加深入的學習和實踐。
上一篇vue axios 異常
下一篇c json 動態可以嗎