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

c json保存到數據庫中

錢艷冰2年前9瀏覽0評論

JSON是一種輕巧的數據交換格式,支持復雜數據結構的表示。在使用C語言時,我們經常需要處理JSON數據,并將其保存到數據庫中。這篇文章將介紹如何使用C語言將JSON數據保存到數據庫中。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mysql.h>
#include <jansson.h>
int main() {
// 初始化MySQL連接
MYSQL *conn = mysql_init(NULL);
if (conn == NULL) {
printf("mysql_init failed: %s\n", mysql_error(conn));
exit(1);
}
// 連接到數據庫
if (mysql_real_connect(conn, "localhost", "root", "123456", "mydb", 0, NULL, 0) == NULL) {
printf("mysql_real_connect failed: %s\n", mysql_error(conn));
exit(1);
}
// 讀取JSON文件
FILE *json_file = fopen("data.json", "rb");
if (json_file == NULL) {
perror("fopen failed");
exit(1);
}
fseek(json_file, 0, SEEK_END);
long file_size = ftell(json_file);
fseek(json_file, 0, SEEK_SET);
char *json_data = (char *)malloc(file_size + 1);
fread(json_data, 1, file_size, json_file);
json_data[file_size] = '\0';
fclose(json_file);
// 解析JSON字符串
json_error_t error;
json_t *root = json_loads(json_data, 0, &error);
if (!root) {
printf("json_loads failed on line %d: %s\n", error.line, error.text);
exit(1);
}
if (!json_is_array(root)) {
printf("root is not an array\n");
exit(1);
}
// 遍歷JSON數組
size_t num_items = json_array_size(root);
for (int i = 0; i < num_items; i++) {
json_t *item = json_array_get(root, i);
if (!json_is_object(item)) {
printf("item at index %d is not an object\n", i);
continue;
}
// 獲取JSON對象中的值
json_t *json_name = json_object_get(item, "name");
const char *name = json_string_value(json_name);
if (name == NULL) {
printf("name is not a string\n");
continue;
}
json_t *json_age = json_object_get(item, "age");
int age = json_integer_value(json_age);
// 將值插入到MySQL數據庫中
char query[100];
sprintf(query, "INSERT INTO users (name, age) VALUES ('%s', %d)", name, age);
if (mysql_query(conn, query)) {
printf("mysql_query failed: %s\n", mysql_error(conn));
continue;
}
}
// 釋放資源
json_decref(root);
free(json_data);
mysql_close(conn);
return 0;
}

以上代碼演示了如何使用C語言將JSON數據保存到MySQL數據庫中。其中,我們使用了mysql和jansson庫來連接MySQL數據庫和解析JSON字符串。我們遍歷JSON數組中的每一個對象,并獲取它們的值。然后,我們將這些值插入到MySQL數據庫中的users表中。