def dictfetchall(cursor):
????"將游標(biāo)返回的結(jié)果保存到一個(gè)字典對(duì)象中"
????desc = cursor.description
????return [
????dict(zip([col[0] for col in desc], row))
????for row in cursor.fetchall()
????]
def test(request):
????????cursor = connection.cursor()
? ? ? ? cursor.execute(sql,None)
????????result = cursor.fetchall()? # 結(jié)果是元祖嵌套元祖
? ? ? ? result1 =?dictfetchall(cursor)? # 結(jié)果是列表里面嵌套字典
? ? ? ? result2 = json.dumps(result1) # 結(jié)果是json
注意:? ?result? 與? result1不能同時(shí)使用
python 字典與pythonjson的區(qū)別:
????????簡(jiǎn)單來(lái)說(shuō),python 字典的數(shù)據(jù)格式就json的數(shù)據(jù)格式。?
????????但本質(zhì)上來(lái)講,字典是一種數(shù)據(jù)結(jié)構(gòu)羔杨,json是一種格式报慕;字典有很多內(nèi)置函數(shù)厕宗,有多種調(diào)用方法徒恋,而json是數(shù)據(jù)打包的一種格式辕近,并不像字典具備操作性封孙,并且是格式就會(huì)有一些形式上的限制迹冤,比如json的格式要求必須且只能使用雙引號(hào)作為key或者值的邊界符號(hào),不能使用單引號(hào)虎忌,而且“key”必須使用邊界符(雙引號(hào))泡徙,但字典就無(wú)所謂了。
????????形式上的相近也讓python提供了json.loads()轉(zhuǎn)換函數(shù)膜蠢,方便json數(shù)據(jù)的調(diào)用堪藐。?