色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 數據庫數據返回json 格式數據類型

劉姿婷1年前8瀏覽0評論

在C語言中,我們可以使用數據庫來存儲和管理大量的數據。在很多應用中,我們需要將從數據庫獲取到的數據以JSON格式進行返回。JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易于閱讀和編寫。下面介紹如何將C數據轉換為JSON格式。

#include <stdio.h>
#include <mysql.h> // 使用MySQL
#include <cjson/cJSON.h> // 使用cJSON庫
int main() {
MYSQL mysql;
MYSQL_RES *result;
MYSQL_ROW row;
MYSQL_FIELD *field;
int field_count;
mysql_init(&mysql);
mysql_real_connect(&mysql, "localhost", "root", "password", "database", 0, NULL, 0);
mysql_query(&mysql, "SELECT * FROM table");
result = mysql_store_result(&mysql);
field_count = mysql_num_fields(result); // 獲取列數
cJSON *json_root = cJSON_CreateArray();
cJSON *json_item = NULL;
while ((row = mysql_fetch_row(result)) != NULL) {
json_item = cJSON_CreateObject();
for (int i=0; i<field_count; i++) {
field = mysql_fetch_field_direct(result, i); // 獲取列字段
cJSON_AddStringToObject(json_item, field->name, row[i]); // 添加字段和值
}
cJSON_AddItemToArray(json_root, json_item);
}
char *str = cJSON_Print(json_root); // 將JSON轉換為字符串
printf("%s", str);
mysql_free_result(result);
mysql_close(&mysql);
return 0;
}

上面的代碼中,我們使用了MySQL和cJSON庫。首先連接數據庫,并執行查詢語句。然后遍歷結果集中的每一行,并將每一列的值添加到一個JSON對象中。最后將JSON對象轉換為字符串并打印出來。