C語言是一門廣泛應用于嵌入式系統和系統級編程的編程語言,可以用于開發各種類型的應用程序。在web開發中,C語言可以通過外部庫和框架來實現與web應用程序的交互。其中,返回JSON類型是一種常見的交互方式。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <mysql.h> #include <cJSON.h> char *fetch_data() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char *server = "localhost"; char *user = "root"; char *password = "123456"; char *database = "test"; char *query = "SELECT * FROM USER"; int i, num_fields; cJSON *root, *array; conn = mysql_init(NULL); if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); } if (mysql_query(conn, query)) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); } res = mysql_use_result(conn); num_fields = mysql_num_fields(res); root = cJSON_CreateObject(); array = cJSON_CreateArray(); cJSON_AddItemToObject(root, "data", array); while ((row = mysql_fetch_row(res))) { cJSON *obj = cJSON_CreateObject(); for (i = 0; i< num_fields; i++) { cJSON_AddItemToObject(obj, mysql_fetch_field_direct(res, i)->name, cJSON_CreateString(row[i] ? row[i] : "")); } cJSON_AddItemToArray(array, obj); } mysql_free_result(res); mysql_close(conn); return cJSON_Print(root); } int main() { char *data = fetch_data(); printf("%s\n", data); return 0; }
上面的代碼演示了如何使用C語言返回JSON類型數據。在代碼中,我們使用了mysql.h庫來連接數據庫并執行查詢操作。查詢結果通過cJSON.h庫中的函數來創建JSON對象和數組,最后將其打印為字符串返回結果。
總之,C語言可以通過各種外部庫和框架來與web應用程序進行交互,返回JSON類型數據是一種常見的交互方式,也是web開發中必備的技能。