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

c 主從表轉json

林玟書1年前8瀏覽0評論

在C語言中,我們經常需要將數據庫中的主從表轉換成JSON格式,以方便在Web頁面上展示和處理。下面我們將介紹如何使用C語言進行這種轉換。

#include <stdio.h>
#include <stdlib.h>
#include <mysql.h>
#include <cjson/cJSON.h>
int main(void)
{
MYSQL *conn; // MySQL連接
MYSQL_RES *res; // MySQL結果集
MYSQL_ROW row; // MySQL返回結果的行
cJSON *json, *root, *array; // cJSON對象
const char *json_printed; // json字符串
// 初始化MySQL連接
conn = mysql_init(NULL);
// 連接數據庫
if (!mysql_real_connect(conn, "localhost", "root", "123456", "test", 0, NULL, 0))
{
fprintf(stderr, "Failed to connect to database: Error: %s\n", mysql_error(conn));
return -1;
}
// 查詢主從表,并將結果轉為JSON格式
mysql_query(conn, "SELECT * FROM tb_master INNER JOIN tb_slave ON tb_master.id = tb_slave.master_id");
res = mysql_store_result(conn);
array = cJSON_CreateArray(); // 創建JSON數組
while ((row = mysql_fetch_row(res)) != NULL) {
// 創建JSON對象
json = cJSON_CreateObject();
cJSON_AddStringToObject(json, "master_name", row[1]);
cJSON_AddStringToObject(json, "slave_name", row[5]);
cJSON_AddItemToArray(array, json);
}
cJSON_AddItemToObject(root = cJSON_CreateObject(), "data", array);
// 打印JSON字符串
json_printed = cJSON_PrintUnformatted(root);
printf("%s\n", json_printed);
// 釋放連接和結果集
mysql_free_result(res);
mysql_close(conn);
return 0;
}

以上代碼使用MySQL API連接到數據庫,查詢主從表,并將結果轉換成JSON格式,最后輸出JSON字符串。該過程中使用了開源的cJSON庫,方便我們操作JSON對象。使用cJSON庫可以大大簡化JSON處理的過程,提高效率。