首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果有一个元素,为什么JSON查询返回对象,如果有多个元素,则返回list?

如果有一个元素,为什么JSON查询返回对象,如果有多个元素,则返回list?
EN

Stack Overflow用户
提问于 2015-06-06 14:21:59
回答 1查看 151关注 0票数 5

为了解决最简单的编码问题,我不得不将python脚本从python2重写到python 3。我不得不从mysqldb迁移到pymysql,这似乎使用了相同的语法。我访问了pymysql的github1站点,下面的示例注意到,当查询结果是一个元素时,它返回一个JSON对象,但当它返回多个JSON对象时,它返回一个列表。

如果总是返回一个包含0、1或任何数目的元素的列表,难道不是更一致吗?为什么要这样做?

注意:为了避免pymysql中的这种行为,只需从以下位置删除cursorclass参数:

代码语言:javascript
复制
# Connect to the database
connection = pymysql.connect(host='localhost',user='user',
passwd='passwd', db='db', charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)

1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-06 14:23:09

根据JSON规范,这种行为是由于v1.0rc1中的一个突变造成的:

突然改变:奇异的资源对象现在应该用JSON对象而不是数组来表示。这允许在请求和响应文档以及PUT/POST请求和修补操作中进行对称表示。它还简化了不支持批处理操作的实现(即它们可以允许对象而不是数组)。

你可以看看这里

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30683967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档