接下來,在C Webservice中處理請求時,我們可以使用cJSON庫將響應轉換為JSON格式。
#include "cJSON.h"
#include "CWS.h"
int my_handler(CWS_Connection *conn, void *cbdata) {
cJSON *response = cJSON_CreateObject();
cJSON_AddStringToObject(response, "message", "Hello, world!");
cJSON_AddNumberToObject(response, "code", 200);
char *json_str = cJSON_Print(response);
CWS_Send_Response(conn,
"application/json",
json_str,
strlen(json_str));
free(json_str);
cJSON_Delete(response);
return 0;
}
在以上示例中,我們創建了一個JSON對象,向其中添加了一個字符串值和一個數字值。我們使用cJSON_Print函數將JSON對象轉換為JSON字符串,并將其作為響應發送回請求方。最后,我們釋放JSON字符串和JSON對象的內存。
在C Webservice中,可以使用CWS_Send_Response函數發送響應。該函數的前三個參數分別是Content-Type、響應體和響應體大小。
總的來說,直接返回JSON的API使得API的使用更為方便。借助C Webservice和cJSON庫,我們可以輕松地實現此功能。