Python: 使用python将json存入数据库

任务描述:

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

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

使用到的python库有 json, MySQLdb

要点1:

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

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

要点2:

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

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

要点3:

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

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

要点4:

查询出来的结果使用json.loads()就ok了。 for .. , data in cursor.fetchall(): print …, json.loads(data)

原文:http://www.pulpcode.cn/program-language/2015/05/21/insert-json-to-mysql-with-python/

Sidebar