欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 數據庫 返回json數據類型

錢瀠龍1年前9瀏覽0評論

C語言作為一種底層語言,與數據庫的交互需要使用特定的庫來完成。其中,使用c語言操作mysql數據庫,可以通過調用mysql-c-api庫中的函數來完成。而對于web開發而言,返回json數據類型已經成為了一種很常見的方式,那么如何在c語言中將mysql數據以json格式返回呢?

#include#include#includeint main() {
MYSQL *con = mysql_init(NULL);
mysql_real_connect(con, "localhost", "user", "password", "database", 3306, NULL, 0);
MYSQL_RES *res;
MYSQL_ROW row;
mysql_query(con, "SELECT * FROM mytable");
res = mysql_use_result(con);
cJSON *root = cJSON_CreateObject();
cJSON_AddItemToObject(root, "data", cJSON_CreateArray());
while ((row = mysql_fetch_row(res)) != NULL) {
cJSON *item = cJSON_CreateObject();
cJSON_AddStringToObject(item, "name", row[0]);
cJSON_AddStringToObject(item, "age", row[1]);
cJSON_AddItemToArray(cJSON_GetObjectItem(root, "data"), item);
}
mysql_free_result(res);
mysql_close(con);
printf("%s\n", cJSON_Print(root));
cJSON_Delete(root);
return 0;
}

上述代碼使用mysql連接到本地的數據庫,執行SELECT語句將數據以json格式返回。cJSON是一個輕量級的C語言JSON解析庫,它允許我們在c語言中方便地創建、解析和操作JSON數據。

在代碼中,我們先創建了一個空對象root,并為它添加一個名為"data"的數組。然后在while循環中,每次從數據集中讀取一行數據,創建一個新對象item,并將數據以鍵值對的形式添加到item對象中。最后,將item對象添加到"data"數組中。所有的數據處理完成后,將root對象打印成json格式的字符串,即可返回到前端。