Pulpcode

捕获,搅碎,拼接,吞咽

0%

使用python将json存入数据库

任务描述:

需要将python的json字符串存到数据库中,还要保证读取出来后,能解析成字典,中间不会发生任何转义或者改变。

而对于pickle生成的序列化对象,操作过程是一样的。

使用到的python库有 json, MySQLdb

要点1:

我们要保证,存储格式json的类型是BLOB类型的

1
`json` blob NOT NULL  COMMENT 'json',

要点2:

使用’’包裹此字段,format成insert语句,我没试过不包裹的后果是啥,一般而言字符串都是需要引号包裹的,反正我包起来是没问题的。

1
tsql = "INSERT INTO xxx(`json`, ...)VALUES('{json}', ....)"

要点3:

要使用MySQLdb.escape_string函数,来对json字符串进行escape

1
sql = tsql.format(json=MySQLdb.escape_string(json), ....)

要点4:

查询出来的结果使用json.loads()就ok了。

1
2
for .. , data in cursor.fetchall():
print ..., json.loads(data)