当先锋百科网

首页 1 2 3 4 5 6 7

在处理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文件写入数据库的过程。