Ich musste ein Python-Skript von Python2 nach Python 3 umschreiben, um die Probleme zu lösen, die ich am einfachsten hatte. Ich musste von mysqldb zu pymysql wechseln, die die gleiche Syntax zu verwenden schien. Ich habe auf die pymysql-Seite github [1] zugegriffen und in den folgenden Beispielen ist mir aufgefallen, dass bei einem Abfrageergebnis ein Element ein JSON-Objekt zurückgegeben hat. Wenn es jedoch mehr als eins zurückgibt, wird eine Liste zurückgegeben.Warum geben JSON-Abfragen ein Objekt zurück, wenn es ein Element gibt, listet es mehrere auf?
Wäre es nicht konsistenter, immer eine Liste mit 0, 1 oder der Anzahl der Elemente zurückzugeben? Warum ist es so gemacht?
Hinweis: Um dieses Verhalten in pymysql zu vermeiden, nur von den cursorclass Parameter entfernen:
# 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/