我不得不从python2到python 3重写一个python脚本来解决我最简单的编码问题。我不得不从mysqldb转移到似乎使用相同语法的pymysql。我访问了pymysql的github [1]站点,以下示例我注意到,当查询结果是一个元素时,它返回了一个JSON对象,但是当它返回多个时,它返回一个列表。
总是返回一个包含0,1或任意数量元素的列表会更加一致吗?为什么这样做?
注意:要避免在pymysql中出现此行为,只需从以下位置删除cursorclass参数:
# Connect to the database
connection = pymysql.connect(host='localhost',user='user',
passwd='passwd', db='db', charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
答案 0 :(得分:4)
根据JSON API规范,此行为是由于v1.0rc1中的重大更改:
突然变化:奇异的资源对象现在应该是 用JSON对象而不是数组表示。这允许 请求和响应文档中的对称表示 作为PUT / POST请求和PATCH操作。它也简化了 不支持批处理操作的实现(即它们可以允许对象而不是数组)。
您可以查看here