C 數據庫可以方便地與 JSON 數據交互,通過將數據庫返回結果轉換成 JSON 格式,方便客戶端獲取和處理數據。下面我們來介紹如何使用 C 代碼將數據庫查詢結果轉換成 JSON 格式。
// 加載 sqlite3 頭文件 #include <sqlite3.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { // 創建 sqlite3 對象 sqlite3 *db; // 打開數據庫 int rc = sqlite3_open("test.db", &db); // 定義 SQL 查詢語句 char *sql = "SELECT * FROM users"; // 創建 sqlite3_stmt 對象,使用 sqlite3_prepare 函數準備語句 sqlite3_stmt *stmt; sqlite3_prepare(db, sql, strlen(sql), &stmt, NULL); // 定義一個 json 數組 json_t *json = json_array(); // 循環處理查詢結果 while (sqlite3_step(stmt) == SQLITE_ROW) { // 創建一個 json 對象,用來存儲當前行的數據 json_t *item = json_object(); // 獲取數據并添加到 json 對象中 json_object_set_new(item, "id", json_integer(sqlite3_column_int(stmt, 0))); json_object_set_new(item, "name", json_string((char *) sqlite3_column_text(stmt, 1))); json_object_set_new(item, "age", json_integer(sqlite3_column_int(stmt, 2))); // 將 json 對象添加到 json 數組中 json_array_append(json, item); } // 釋放 sqlite3_stmt 對象 sqlite3_finalize(stmt); // 關閉數據庫 sqlite3_close(db); // 將最終的 json 數組輸出到控制臺 char *json_str = json_dumps(json, JSON_INDENT(4)); printf("%s\n", json_str); // 釋放 json 對象 json_decref(json); return 0; }
通過上述代碼,我們可以將數據庫的查詢結果轉換為 JSON 格式,并通過 printf 函數輸出到控制臺,方便客戶端獲取和處理。總體來說,使用 C 數據庫返回 JSON 是一種簡單實用的方式,可以方便地處理數據庫中的數據。
上一篇layui跟vue區別
下一篇python 留一法