在处理JSON数据时,我们通常需要将JSON文件的内容写入到数据库中。在C语言中,我们可以使用libjson库来处理JSON数据并将结果存储到数据库中。
#include <stdio.h> #include <mysql.h> #include <json/json.h> int main() { MYSQL mysql; MYSQL_ROW row; MYSQL_RES *result; mysql_init(&mysql); mysql_real_connect(&mysql,"localhost","root","password","test",0,NULL,0); FILE *fp=fopen("data.json","r"); char buf[1024]={0}; fread(buf,1,1023,fp); fclose(fp); json_object *jobj=json_tokener_parse(buf); json_object *id, *name, *age; json_object_object_get_ex(jobj,"id",&id); json_object_object_get_ex(jobj,"name",&name); json_object_object_get_ex(jobj,"age",&age); char q[1024]={0}; sprintf(q,"INSERT INTO users VALUES(%d,'%s',%d)",json_object_get_int(id),json_object_get_string(name),json_object_get_int(age)); mysql_query(&mysql,q); mysql_query(&mysql,"SELECT * FROM users"); result=mysql_store_result(&mysql); while((row=mysql_fetch_row(result))) { printf("%s %s %s\n",row[0],row[1],row[2]); } }
在上面的代码中,我们首先连接到MySQL数据库并打开一个JSON文件。然后,我们使用libjson库从JSON文件中解析数据。我们从JSON对象中提取出id,name和age字段,并使用这些字段创建一个SQL查询。最后,我们将查询提交到数据库中以将JSON数据写入数据库。
运行代码后,MySQL数据库将包含以下行:
+----+-------+------+ | id | name | age | +----+-------+------+ | 1 | Alice | 23 | +----+-------+------+
这就完成了将JSON文件写入数据库的过程。