在 C 語言中,我們通常使用字符串來記錄數據。有時,我們需要將 C 字符串轉換為 JSON 格式,在網絡傳輸或持久化時使用。這可以通過使用第三方庫來實現。
一個廣泛使用的 C 語言 JSON 庫是 cJSON。該庫可從GitHub下載,并允許我們簡單地將 C 語言字符串轉換為 JSON 對象或 JSON 數組。
下面是一個實例代碼,演示了如何使用 cJSON 將 C 字符串轉換為 JSON 格式:
#include <stdio.h> #include <cJSON.h> int main() { char cstr[] = "{ \"name\": \"John Doe\", \"age\": 30 }"; cJSON *json = cJSON_Parse(cstr); if (json == NULL) { printf("Error parsing JSON: %s\n", cJSON_GetErrorPtr()); return 1; } char *json_string = cJSON_Print(json); printf("JSON String: %s\n", json_string); cJSON_Delete(json); free(json_string); return 0; }
在本例中,我們創建了一個名為 cstr 的字符串,該字符串表示一個簡單的 JSON 對象。然后,我們將 cstr 傳遞給 cJSON_Parse 函數進行解析。如果解析成功,則函數將返回指向 JSON 對象的指針。
下一步,我們將解析出的 JSON 對象傳遞給 cJSON_Print 函數,以將其轉換為 JSON 字符串。最后,我們釋放了 cJSON_Parse 函數在堆上分配的內存,并釋放了 JSON 字符串在堆上分配的內存。
通過使用 cJSON 庫,我們可以輕松地將 C 字符串轉換為 JSON 對象或 JSON 數組,并將其傳輸或保存到文件中。