任务描述:
需要将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了。 for .. , data in cursor.fetchall(): print ..., json.loads(data)
转自: http://www.tuicool.com/articles/ZnUnUrf