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

c json插入數據庫

黃文隆2年前8瀏覽0評論

在使用C語言,將JSON格式的數據插入到數據庫中時,我們需要先了解如何將JSON格式的數據轉換為SQL語句。下面是一個簡單的JSON數據:

{
"id": 1,
"name": "小明",
"age": 18
}

我們需要將該JSON數據轉換為SQL語句,插入到數據庫中。轉換后的SQL語句如下:

INSERT INTO Persons (id, name, age) VALUES (1, '小明', 18);

注:Persons為數據庫中的表名。

下面是一段C語言的代碼,演示了如何將JSON數據插入到MySQL數據庫中:

#include#include#include#includeint main() {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "localhost";
char *user = "root";
char *password = "123456";
char *database = "test";
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, server,
user, password,
database, 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
char *json_string = "{\"id\": 1, \"name\": \"小明\", \"age\": 18}";
cJSON *json = cJSON_Parse(json_string);
if (json == NULL) {
const char *error_ptr = cJSON_GetErrorPtr();
if (error_ptr != NULL) {
fprintf(stderr, "Error before: %s\n", error_ptr);
}
exit(1);
}
char *name = cJSON_GetObjectItem(json, "name")->valuestring;
int age = cJSON_GetObjectItem(json, "age")->valueint;
int id = cJSON_GetObjectItem(json, "id")->valueint;
char sql[1024];
sprintf(sql, "INSERT INTO Persons (id, name, age) VALUES (%d, '%s', %d)",
id, name, age);
if (mysql_query(conn, sql)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
mysql_close(conn);
exit(0);
}

注:該代碼基于MySQL數據庫,需要先安裝libmysqlclient-dev庫。