怎么将json格式的数据存入数据库

怎么将json格式的数据存入数据库,第1张

直接读写文件,再把读出来的文件内容格式化成json,再用JDBC、Mybatis或者其他框架将json数据存入数据库。 假设实体类是这样的: public class ElectSet {public String xueqipublic String xuenianpublic String startTimepublic

json的数据json.loads进来以后会变成一个json的对象,你需要自己把python对象中的字段值取出来,拼成sql语句

你可以把这个过程封装成一个函数

import json

def save_json(json_str):

obj = json.loads(json_str)

sql = 'insert into tbl values ("%s")' % obj['id'] #这里注意编码,要转成数据库的编码格式

#blabla

1、假如json字符串的最大长度不会超过1024字节,那么我们可以定义表结构varchar(1024)。如下图,我们定义一个表t_save_json,有一个自增的id字段以及json字段保存json字符串。

2、如果json字符串中字符是双引号标记的,如{"name":"Q花荣","age":18,"a":"第一条信息"}。那么我们写sql语句保存到数据库时直接用引号括起来就行。如:insert into t_save_json set json = '{"name":"Q花荣","age":18,"a":"第一条信息"}'

3、如果json字符串中字符是单引号标记的,如{'name':'Q花荣','age':18,'a':'第二条信息'}。那么通常的做法需要对单引号进行转义,写sql语句时连续两个''表示单引号。如:insert into t_save_json set json = '{''name'':''Q花荣'',''age'':18,''a'':''第二条信息''}'

但笔者发现mysql中,sql中用双引号来标记json字符串也可以,一般比较少用,笔者也学习了。如:insert into t_save_json set json = "{'name':'Q花荣','age':18,'a':'第三条信息'}"

4、如果json字符串长度太大,那么我们建表时还是应该选择TEXT类型。TEXT采用字符存储,专门为存储大数据而设计。如下图,我们定义表t_save_json_2,json字段类型为TEXT,保存大字符串。

5、使用相同的sql语句,保存json字符串到表t_save_json_2中。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9897981.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存