C語言是一門經典的編程語言,其應用領域廣泛。當我們需要將C語言中的數據庫數據轉成JSON格式時,可以通過以下方式進行轉換。
#include "stdio.h" #include "stdlib.h" #include "string.h" #include "mysql.h" #include "cjson.h" //定義數據庫連接信息 const char* server="localhost"; const char* username="username"; const char* password="password"; const char* database="database"; MYSQL conn; MYSQL_RES *res; MYSQL_ROW row; //將數據庫數據轉成JSON格式 cJSON* mysql_to_json(int id) { cJSON *root, *tmp, *array; char sql[1024]; int i; //連接數據庫 if(mysql_real_connect(&conn, server, username, password, database, 0, NULL, 0)) { //拼接SQL語句 sprintf(sql, "SELECT * FROM table WHERE id=%d", id); //執(zhí)行SQL語句 mysql_query(&conn, sql); //獲取查詢結果 res=mysql_store_result(&conn); //創(chuàng)建JSON對象 root=cJSON_CreateObject(); array=cJSON_CreateArray(); //遍歷結果集 while((row=mysql_fetch_row(res)) != NULL) { tmp=cJSON_CreateObject(); cJSON_AddItemToObject(tmp, "id", cJSON_CreateString(row[0])); cJSON_AddItemToObject(tmp, "name", cJSON_CreateString(row[1])); cJSON_AddItemToObject(tmp, "age", cJSON_CreateString(row[2])); cJSON_AddItemToArray(array, tmp); } //將JSON對象添加到根節(jié)點中 cJSON_AddItemToObject(root, "data", array); //釋放結果集 mysql_free_result(res); //關閉數據庫連接 mysql_close(&conn); } //返回JSON對象 return root; } int main() { cJSON *root; //將數據庫中ID為1的記錄轉成JSON格式 root=mysql_to_json(1); //將JSON對象轉成字符串并輸出 printf("%s", cJSON_Print(root)); //釋放JSON對象 cJSON_Delete(root); return 0; }
通過以上代碼,我們可以將C語言中的數據庫數據轉成JSON格式,更好地進行數據傳輸和存儲。