gpt4 book ai didi

python - 为什么如果有一个元素,JSON 查询返回对象,如果有多个元素,则返回列表?

转载 作者:太空狗 更新时间:2023-10-30 01:14:25 25 4
gpt4 key购买 nike

我不得不将一个 python 脚本从 python2 重写到 python 3,以解决我遇到的最简单方法的编码问题。我不得不从 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)

[1] https://github.com/PyMySQL/PyMySQL/

最佳答案

根据 JSON API 规范,此行为是由于 v1.0rc1 中的重大更改所致:

BREAKING CHANGE: Singular resource objects SHOULD now be be represented with JSON objects instead of arrays. This allows for symmetrical representations in request and response documents, as well as PUT/POST requests and PATCH operations. It also simplifies implementations which do not support batch operations (i.e. they can allow an object and not an array).

可以看看here

关于python - 为什么如果有一个元素,JSON 查询返回对象,如果有多个元素,则返回列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30683967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com