在c語言中,可以通過傳輸json數據來達到后臺向前端傳遞數據的目的。
首先在c語言中需要通過第三方庫來處理json數據,比如cJSON庫。
下面是一個示例代碼,實現了將一個包含三個鍵值對的json數據轉換為字符串,并發送到前端。
#include "cJSON.h" #include#include #include #include #include int main() { cJSON *root, *item; root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "Tom"); cJSON_AddNumberToObject(root, "age", 18); cJSON_AddStringToObject(root, "gender", "male"); char *json_string = cJSON_Print(root); int sock_fd, len; char *ip = "127.0.0.1"; int port = 8888; struct sockaddr_in server_addr; if ((sock_fd = socket(AF_INET, SOCK_STREAM, 0))< 0) { perror("socket"); return -1; } server_addr.sin_family = AF_INET; server_addr.sin_port = htons(port); server_addr.sin_addr.s_addr = inet_addr(ip); if (connect(sock_fd, (const struct sockaddr *)&server_addr, sizeof(server_addr))< 0) { perror("connect"); return -1; } len = strlen(json_string); if (send(sock_fd, json_string, len, 0) != len) { perror("send"); return -1; } cJSON_Delete(root); free(json_string); return 0; }
在前端可以通過ajax的方式獲取后臺傳遞過來的json數據,并進行處理。
下面是一個示例代碼,實現了通過ajax獲取后臺傳遞過來的json數據并解析。
$.ajax({ url: "http://localhost:8888", type: "GET", dataType: "json", success: function(data) { console.log(data.name); console.log(data.age); console.log(data.gender); } });
通過這種方式,后臺可以將處理過的數據以json的格式發送到前端,前端再通過ajax進行處理,實現了后臺和前端之間的數據傳遞。