在進行軟件開發過程中,經常需要將JSON文件存放到SQL數據庫中。這樣可以更加方便地進行數據處理和查詢。而在C語言中,我們可以使用以下代碼將JSON文件存儲到SQL數據庫中。
#include <stdio.h> #include <stdlib.h> #include <mysql.h> #include <jansson.h> int main(int argc, char **argv){ MYSQL *con = mysql_init(NULL); if (con == NULL){ fprintf(stderr, "%s\n", mysql_error(con)); exit(1); } if (mysql_real_connect(con, "localhost", "user","password",NULL, 0, NULL, 0) == NULL){ fprintf(stderr, "%s\n", mysql_error(con)); mysql_close(con); exit(1); } if (mysql_query(con, "CREATE DATABASE testdb")){ fprintf(stderr, "%s\n", mysql_error(con)); mysql_close(con); exit(1); } if (mysql_query(con, "USE testdb")){ fprintf(stderr, "%s\n", mysql_error(con)); mysql_close(con); exit(1); } if (mysql_query(con, "CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, name CHAR(50), age INT)")){ fprintf(stderr, "%s\n", mysql_error(con)); mysql_close(con); exit(1); } const char *json_string = "{\"name\":\"Tom\", \"age\": 24}"; json_error_t error; json_t *json_obj = json_loads(json_string, 0, &error); if(!json_obj){ printf("JSON年齡字段不存在"); return 1; } json_t *age_obj = json_object_get(json_obj, "age"); int age = json_integer_value(age_obj); json_t *name_obj = json_object_get(json_obj, "name"); const char *name = json_string_value(name_obj); mysql_query(con, "INSERT INTO users (id, name, age) VALUES ('', '%s', '%d')", name, age); mysql_close(con); exit(0); }
以上代碼中,我們使用json_loads()函數將JSON字符串轉換為JSON對象。接著,我們使用json_object_get()函數獲取JSON對象中的屬性值,并使用mysql_query()函數將該屬性值插入到SQL數據庫的users表中。
總結而言,將JSON文件存放到SQL數據庫中可大大簡化我們在軟件開發過程中對于數據處理和查詢的操作。而在C語言中,我們可利用json-c庫和MySQL C API,來實現將JSON文件存入SQL數據庫的功能。
上一篇c 將json導入數據庫
下一篇python 消息提示框