學習編程的小伙伴們都知道,數據庫是非常重要的數據存儲方式,而在現代開發中,數據的請求和返回一般都以JSON格式進行傳遞。那么,在C語言開發中,如何查詢數據庫返回JSON數據呢?下面介紹一種常用的方法。
首先,我們需要安裝一個C語言的數據庫連接庫,在本文中,我們選擇使用MySQL C API。接下來,我們需要連接到數據庫,查詢需要的數據,并將其轉換為JSON格式返回。
#include#include #include int main(void) { MYSQL *connection; MYSQL_RES *result; MYSQL_ROW row; json_object *json, *root_array; int num_fields, i; const char* server = "localhost"; const char* user = "root"; const char* password = "password"; const char* database = "test"; connection = mysql_init(NULL); mysql_real_connect(connection, server, user, password, database, 0, NULL, 0); mysql_query(connection, "SELECT * FROM users"); result = mysql_store_result(connection); num_fields = mysql_num_fields(result); root_array = json_object_new_array(); while ((row = mysql_fetch_row(result))) { json = json_object_new_object(); for (i = 0; i< num_fields; i++) { json_object_object_add(json, mysql_fetch_field_direct(result, i)->name, json_object_new_string(row[i])); } json_object_array_add(root_array, json); } printf("%s", json_object_to_json_string(root_array)); mysql_free_result(result); mysql_close(connection); return 0; }
以上代碼通過MySQL C API連接到test數據庫,并查詢users表中的所有數據。在獲取數據后,使用json-c庫將其轉換為JSON格式并輸出。其中,`json_object_new_array`用于創建數組,`json_object_new_object`用于創建對象,`json_object_object_add`用于向對象中添加數據,`json_object_array_add`用于向數組中添加元素,`json_object_to_json_string`用于轉換為JSON字符串。
總之,通過以上方法,我們可以在C語言中快速查詢數據庫并返回JSON格式的數據,方便在現代開發中使用。當然,這只是基礎操作,具體應用中還需要根據實際情況進行改進。