在C語言中,處理JSON傳二進制組是常見的操作。
使用JSON傳輸二進制數據可以極大地簡化應用程序的開發和調試。在C語言中,一個常見的JSON庫是cJSON。下面是一個使用cJSON傳送二進制數據的例子:
cJSON *root = cJSON_CreateObject(); unsigned char buffer[] = "hello world"; cJSON *data = cJSON_CreateBinary(buffer, sizeof(buffer)); cJSON_AddItemToObject(root, "data", data); char *json = cJSON_Print(root);
上面的代碼創建了一個cJSON對象,包含名為“data”的子對象。子對象包含了一個二進制緩沖區,該緩沖區中存儲了“hello world”字符串的內容。最后,將對象轉換為JSON字符串。
這個JSON字符串可以通過網絡發送給其他應用程序。
在接收端,可以像這樣解析JSON字符串和二進制數據:
char *json = ... /* received JSON string */; cJSON *root = cJSON_Parse(json); cJSON *data = cJSON_GetObjectItem(root, "data"); unsigned char *buffer = (unsigned char *)data->valuestring; int length = data->valueint;
這個代碼使用cJSON庫解析傳入的JSON字符串,并獲取名為“data”的子對象。子對象包含了二進制數據和數據的長度。
此后可以使用接收到的二進制數據進行工作,如將其寫入磁盤或顯示在屏幕上。
上一篇c json傳送圖片
下一篇vue js 控件