C語言是一種底層語言,但是在日常開發中我們經常需要連接數據庫并將查詢結果轉化成json格式。下面是一份將C語言連接數據庫,然后轉換成json格式的示例代碼:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <mysql.h> // 定義mysql連接 MYSQL mysql; // 定義json字符串 char *getResult() { MYSQL_RES *res = mysql_store_result(&mysql); int count = 0; MYSQL_FIELD *field; MYSQL_ROW row; char *result = "{"; if (res) { count = mysql_num_fields(res); while ((field = mysql_fetch_field(res))) { char *temp = (char *) malloc(strlen(res) + strlen(field->name) + strlen("{\"\": ,}") + 1); snprintf(temp, strlen(temp) + 1, "{\"%s\":\"%s\"}, ", field->name, row[count]); result = realloc(result, strlen(result) + strlen(temp) + 1); strcat(result, temp); free(temp); } result[strlen(result) - 2] = '\0'; result = realloc(result, strlen(result) + 2); strcat(result, "}"); } mysql_free_result(res); return result; } int main() { mysql_init(&mysql); mysql_real_connect(&mysql, "localhost", "root", "password", "test", 3306, NULL, 0); mysql_query(&mysql, "SELECT * FROM user"); printf("%s", getResult()); mysql_close(&mysql); return 0; }
上述代碼中,我們使用了mysql.h庫,這是一個mysql數據庫操作的C語言庫。我們首先定義了一個mysql的變量,然后使用mysql_init()方法初始化變量。接著使用mysql_real_connect()方法連接到mysql數據庫,參數包括主機名、用戶名、密碼、數據庫名和端口。使用mysql_query()方法執行sql語句,并將結果存儲在MYSQL_RES類型的變量中。然后,我們遍歷結果,將每一列的數據都轉化成json格式,并以字符串的形式返回給getResult()方法。最后,我們釋放結果,關閉mysql連接,程序結束。
上一篇c 數組 轉換 json
下一篇python 畫第二張